`
m635674608
  • 浏览: 5042013 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

js 源对象 window.event.srcElement.id

    博客分类:
  • js
 
阅读更多

在IE下,event对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性.。

 

    解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.。同时注意event的 兼容性问题。

感觉这个挺好,可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称。
注意获取的标记都以大写表示,如"TD","TR","A"等。所以把看过的一些抄下来,不记得的时候再来看看。

<script type="text/javascript">
    function tdclick(){
        if(event.srcElement.tagName.toLowerCase()=='td')
             alert("行:"+(event.srcElement.parentNode.rowIndex+1)+"列:"+(event.srcElement.cellIndex+1));
     }
</script>

event.srcElement从字面上可以看出来有以下关键字:事件,源     他的意思就是:当前事件的源,

我们可以调用他的各种属性 就像:document.getElementById("")这样的功能,

经常有人问 firefox 下的 event.srcElement 怎么用,在此详细说明:

IE下,event对象有srcElement属性,但是没有target属性;Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的,即:

firefox 下的 event.target = IE 下的 event.srcElement

解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.

在 ie中处理事件直接使用window.event对象即可,但在firefox中,是没有 window.event对象的,函数需要使用事件的时候,需要在事件发生时把事件作为参数传递给函数,不象在ie中,事件对象是全局的,随处都可以访 问.下面这个getEvent()函数可以兼容firefox和ie,只需要在访问事件对象的函数的开始调用getEvent()即可,不用再把事件作为 参数传递.以下代码已经实验通过!

function myfunc()
{
var evt=getEvent();
var element=evt.srcElement || evt.target;
}

function getEvent()
{
if(document.all)
{
return window.event;//如果是ie
}
func=getEvent.caller;
while(func!=null)
{
var arg0=func.arguments[0];
if(arg0)
{
if((arg0.constructor==Event || arg0.constructor ==MouseEvent)
||(typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))
{
return arg0;
}
}
func=func.caller;
}
return null;
}

分享到:
评论

相关推荐

    替代window.event.srcElement效果的可兼容性的函数

    在JavaScript编程中,特别是在处理事件时,`window.event` 是一个内置对象,它提供了与当前事件相关的各种信息,如事件的目标元素(`event.srcElement` 在IE中,`event.target` 在非IE浏览器中)。然而,`window....

    兼容IE和Firefox获得keyBoardEvent对象

    IE中event对象有srcElement属性,但是没有target属性;Firefox中event对象有target属性,但是没有srcElement属性。解决方法是使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event...

    FF与IE对javascript和CSS的区别

    10. **event.srcElement**:IE使用`event.srcElement`来获取事件源,而FF使用`event.target`。为了兼容,可以这样做: ```javascript var target = event.srcElement ? event.srcElement : event.target; ``` ...

    JavaScript中解决多浏览器兼容性23个问题的快速解决方法

    10. event.srcElement与event.target问题:在IE浏览器中,event对象有srcElement属性,但在Firefox浏览器中,event对象有target属性。为了解决这一兼容性问题,可以使用srcObj=event.srcElement?event.srcElement:...

    ie 和 firefox 的javascript 兼容问题(网上下载的).doc

    - **Firefox环境下**,不支持 `window.event`,必须在事件处理函数中传递事件对象。 **解决方法:** 使用以下代码实现跨浏览器兼容: ```javascript function gotoSubmit8_2(evt) { evt = evt ? evt : (window....

    firefox与IE对js和CSS的区别.txt

    - IE中,`event`对象具有`srcElement`属性。 - Firefox中,`event`对象具有`target`属性。 - **解决方案**: - 使用兼容性写法:`obj = event.srcElement ? event.srcElement : event.target;` ##### 11. `...

    浏览器兼容总结.txt

    在获取触发事件的源元素时,IE 使用`event.srcElement`,而 Firefox 使用`event.target`。为了保持代码的一致性,可以采用以下方式: ```javascript var obj = event.srcElement ? event.srcElement : event.target...

    IE和FF兼容问题

    - **IE**:通过`window.event`获取事件对象。 - **Firefox**:事件对象可通过事件处理器函数参数直接获得。 **示例代码**: ```html (event)"&gt; &lt;script language="javascript"&gt; function Submitted(evt){ evt =...

    IE与firefox在Javascript上的区别.doc

    - `element_prototype_get_runtimeStyle()`、`window_prototype_get_event()` 和 `event_prototype_get_srcElement()` 是用来模拟 `runtimeStyle`、`event` 和 `srcElement` 属性的。 6. **事件监听器** - Fire...

    js技术中document对象技术汇总

    var srcElement = window.event.srcElement; console.log(srcElement); } ``` #### 5. 修改元素内容 - **`innerText`** - **用途**:设置或获取元素的文本内容。 - **语法**: ```javascript element....

    Js内置对象.docx

    ### Js内置对象详解 #### 一、Window对象及其属性与方法 **Window对象**作为JavaScript中最基础的对象之一,几乎在所有脚本环境中都是全局对象。它代表了浏览器的一个窗口,并且是顶级对象。 ##### **Window对象...

    禁止鼠标右击 网站定制自己的右键菜单

    window.status = event.srcElement.url; } } } } ``` 以上代码实现了菜单项的点击跳转、菜单位置的计算与调整等功能。此外,还添加了高亮效果以增强用户体验。 ##### 3. 组合使用 最后,结合以上代码,我们...

    火狐浏览器兼容整理方案

    - **问题描述**:在IE浏览器中,`event`对象包含`srcElement`属性,但在Firefox中,该属性不存在,而使用的是`target`属性。 - **解决方法**:为了解决这个问题,可以使用以下代码: ```javascript var obj = ...

    JS在IE和FireFox之间常用函数的区别小结

    在IE中,事件对象的源元素属性是`srcElement`,而在Firefox和其他遵循W3C标准的浏览器中,这个属性是`target`。为了确保兼容性,可以使用如下代码: ```javascript var obj = e.srcElement ? e.srcElement : e....

    javascript大事托付的用法及其好处简析_.docx

    事件对象在JavaScript中扮演关键角色,它包含了与事件相关的信息,如事件源(即触发事件的元素)。在不同的浏览器环境中,获取事件源的方式有所不同。在IE浏览器中,可以使用`window.event.srcElement`;而在标准...

    ie不支持javascript的解决方案.docx

    - 解决方案:在事件处理函数中传递`event`参数,如`function doSomething(event) { var myEvent = event || window.event; ...}`。 9. **坐标属性** - 问题:IE的`event`对象有`x`和`y`,Firefox有`pageX`和`...

    FF和IE的兼容性问题总结

    10. **事件源对象**:IE的`event`对象有`srcElement`,FF则有`target`。解决方式是创建一个通用变量,根据浏览器类型选择正确的属性。 11. **window.location.href**:IE和FF2.0.x以上版本都支持`window.location`...

    IE和Firefox在css,JavaScript方面的兼容性

    IE使用`window.event`来获取事件对象,而Firefox则需要将事件对象作为函数参数传递。此外,Firefox中事件对象的属性名也可能与IE中的不同,如`clientX`和`pageX`。为了兼容,开发者应编写能够处理这两种情况的代码,...

    JavaScript实用技巧集锦.doc

    var e = event.srcElement; var r = e.createTextRange(); r.moveStart("character", e.value.length); r.collapse(true); r.select(); } ()"&gt; ``` #### 十三、获取上一页的URL - **技巧描述**:使用`...

Global site tag (gtag.js) - Google Analytics