`
ispring
  • 浏览: 359482 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

fireEvent与attachEvent

阅读更多

1.fireEvent()是强迫触发某个事件。
 如:<form onsubmit="a()">。。。
中,如果button的form.submit()的方式提交表单,是不会主动触发onsumbit事件的,如果必须的话,就要在submit前fireEvent("onsubmit")下,这样就会触发该事件了。

attachEvent()是绑定函数到某个事件上(detachEvent是卸载)。

如:<button id=btn>
<script>
var f =new Function("event","alert('i am attached function')");
btn.attachEvent("onclick",f);
</script>
下面为fireFox中方法,firefox不支持fireEvent
if(   document.all   )  
{
 t.fireEvent(   "onchange"   );  
}  
else  
{  
 var evt = document.createEvent('HTMLEvents');  
 evt.initEvent('change',true,true);  
 t.dispatchEvent(evt);  
}
页面中不能同时出现window.onload=...和<body onload="...">
解决办法就是用attachEvent给onload添加所需运行的函数
if (document.all){
 window.attachEvent('onload',FuncName)
}
else{
 window.addEventListener('load',FuncName,false);
}[最后编

实例区别:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function a()
{
 var newEvt = document.createEventObject()
    newEvt.button = 3
    document.all.aa.fireEvent("onkeydown", newEvt)
    //document.all.aa.click()
}

function b()
{
 document.all.bb.onkeypress=c
}

function c()
{
 alert()
}
//-->
</SCRIPT>
</HEAD>

<BODY onload="a();b()">
<INPUT TYPE="text" id="aa" onkeydown="alert()">
<INPUT TYPE="text" id="bb"><br>
</BODY>
</HTML>

分享到:
评论

相关推荐

    IE的fireEvent方法概述及应用

    IE浏览器中的`fireEvent`方法是一种触发事件的方式,它与`onclick`等事件处理函数有所不同。`fireEvent`方法主要用于模拟用户行为,例如点击、提交表单等,它可以在元素上触发指定的事件,即使该元素没有预先定义...

    JavaScript之IE的fireEvent方法详细解析

    与标准的事件处理方式不同,`fireEvent`在某些情况下能触发事件冒泡,即使目标元素没有直接绑定对应的事件处理函数。 在JavaScript中,我们通常使用`addEventListener`或`attachEvent`(IE兼容性处理)来为元素添加...

    ie与firefox下的event使用说明与详细区别

    IE使用`element.attachEvent("onclick", func)`,而Firefox使用`element.addEventListener("click", func, true)`。在IE中,可以多次附加同一个事件的处理函数,它们都会被执行;Firefox的`addEventListener`则允许...

    self.attachevent is not a function的解决方法

    然而,`attachEvent`并不被其他浏览器如Chrome或Firefox支持。它们使用标准的`addEventListener`方法来添加事件监听器: ```javascript self.addEventListener("blur", function() { dd.style.display = "none"; }...

    JS在IE和FF下attachEvent,addEventListener学习笔记

    ### JavaScript中的事件处理:attachEvent与addEventListener #### 一、引言 JavaScript 是一种广泛使用的脚本语言,它被用于实现网页的动态效果和交互功能。随着 Web 技术的发展,浏览器之间的差异也逐渐显现出来...

    同时兼容IE和FireFox的事件处理event代码--添加文件上传例子

    "同时兼容IE和FireFox的事件处理event代码--添加文件上传例子"这个主题聚焦于解决浏览器之间的差异,尤其是针对老版本的Internet Explorer(IE)和Firefox。在这些早期浏览器中,事件处理的实现方式有所不同,导致...

    javascript attachEvent和addEventListener使用方法

    首先,attachEvent 方法是早期 Internet Explorer 浏览器引入的事件监听方法,它的语法是:`object.attachEvent(event, function)`。这个方法接受两个参数,第一个参数是事件名称(如 "onclick"),第二个参数是要...

    关于iframe中生成父窗口元素及增加event事件的问题(IE已实现,Firefox暂未实现)

    parentButton.fireEvent('onclick'); } else if (parentButton.dispatchEvent) { // Firefox, Chrome, etc. var clickEvent = new MouseEvent('click', { bubbles: true, cancelable: true, view: window }); ...

    addEventListener和attachEvent二者绑定的执行函数中的this不相同

    2. **`attachEvent`**: 与`addEventListener`不同,`attachEvent`在IE中执行事件处理函数时,`this`会指向绑定事件的元素,通常是全局对象`window`。当点击`test1`时,所有浏览器的行为一致,因为`onclick`属性直接...

    整理的比较全的event对像在ie与firefox浏览器中的区别

    本文主要讨论的是Event对象在Internet Explorer(IE)与Firefox浏览器中的差异,这对于优化跨浏览器的JavaScript代码至关重要。 首先,IE浏览器有一个全局的`window.event`对象,无论事件发生在哪里,都可以通过它...

    解决使用attachEvent函数时,this指向被绑定的元素的问题的方法

    对于现代浏览器,如Chrome、Firefox等,使用`addEventListener`方法时,可以通过`bind`方法轻松地改变函数内部的`this`指向。但IE8及以下版本浏览器不支持`addEventListener`,只能使用`attachEvent`,这就导致了`...

    浅谈addEventListener和attachEvent的区别

    ele.attachEvent('on' + event_name, fun); // IE浏览器 } else { event_name = event_name.replace(/^on/, ""); // 如果on开头,删除on ele.addEventListener(event_name, fun, false); // 非IE浏览器 } } ```...

    javascript 主动派发事件总结

    1,dispatchEvent()这是标准的触发事件方法,使用时需要先创建好事件对象。如下 代码如下: var evt = document.... 注意:与attachEvent一样它需要加上“on” 一个兼容性所有浏览器的版本,如下 代码如下: var d

    兼容IE与FireFox

    ### 兼容IE与Firefox:JS代码详解 在Web开发过程中,确保JavaScript代码能够在不同的浏览器上正常运行是一项挑战性任务。特别是在早期版本的Internet Explorer(IE)与Firefox之间实现兼容性,更是如此。本文将详细...

    javascript中attachEvent用法实例分析

    与`attachEvent`不同,`addEventListener`添加的事件处理函数会按照添加的顺序执行,即`click1 -&gt; click2 -&gt; click3`。 为了实现跨浏览器的事件绑定,我们需要同时使用`attachEvent`和`addEventListener`。一种常见...

    BlueBala » 兼容IE和Firefox的事件模型(拖动)

    在所有事件处理函数中,都需要确保事件对象与IE和Firefox的兼容: ```javascript var dragElement = document.getElementById('draggable'); var startX, startY; function handleMouseDown(event) { event....

    javascript触发模拟鼠标点击事件

    在这段代码中,`attachEvent`方法用于在指定元素上绑定事件处理函数,`createEventObject`用于创建一个事件对象实例,然后`fireEvent`方法触发指定的事件。 而对于现代浏览器,如Chrome和Firefox,它们使用`...

    在Internet Explorer 11、10、9中手动触发JavaScript事件

    手动触发事件则涉及到`fireEvent`(IE特有)和`dispatchEvent`(W3C标准)两个方法。 1. **IE的`fireEvent`方法**: 在IE11、10、9中,你可以使用`fireEvent`方法来触发一个事件。例如,如果你想在某个元素上触发`...

Global site tag (gtag.js) - Google Analytics