JS函数被触发的时候,如何获得触发该函数的标签? 本帖最后由 beichui 于 2012-03-01 10:56:23 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不大明白你说的,是这个意思吗?<script type="text/javascript">function fire(input){ alert(input.id)}</script><input type="text" id="abc" onfocus="fire(this)" /><input type="text" id="abd" onfocus="fire(this)" /> 你的理解和我说的差不多,但是我不想传任何和页面相关的参数,包括把THIS当参数传递进去。而是在函数内部自己获得调用者。 <body><div id="a1" onclick="t()">只在IE下有效</div><script>t = function(){ alert(window.event.srcElement.id);}</script></body> $(document).ready(function(){$("#abc").focus(function(){ alert($(this).attr("id"));});});<input type="text" id="abc" onfocus="javascript:function()/> 非常感谢,IE下解决了,不过火狐还是必须把EVENT当参数传递进去,不知道有没办法兼容火狐? 朋友,你这个还是没有解决,$("#abc")等于还是写死了标签ID。 找了下资料,解决了,引用一段牛人重新的火狐Event事件就可以了。/*firefox*/function __firefox(){ HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style); window.constructor.prototype.__defineGetter__("event", __window_event); Event.prototype.__defineGetter__("srcElement", __event_srcElement);}function __element_style(){ return this.style;}function __window_event(){ return __window_event_constructor();}function __event_srcElement(){ return this.target;}function __window_event_constructor(){ if(document.all){ return window.event; } var _caller = __window_event_constructor.caller; while(_caller!=null){ var _argument = _caller.arguments[0]; if(_argument){ var _temp = _argument.constructor; if(_temp.toString().indexOf("Event")!=-1){ return _argument; } } _caller = _caller.caller; } return null;}if(window.addEventListener){ __firefox();}/*end firefox*/最后感谢下所有回答的朋友 extjs4 mvc 怎么初始化(通过调用后台数据)创建toolbar 谷歌浏览器,怎么用js调用打印 java 与 form 冲突!!!! 5.3-5=0.29999999怎么解决 关于网页菜单的制作(在线等待) 问:有没有办法设置“prompt提示窗口”的外观属性?如果有办法,该怎样设置。 在table中加入tr的问题 多维数组的问题,好像有个结症,想不通!请see see 帮帮忙---关于框架 手机浏览器页面如何用js关闭? iframe 框架跳转问题 Extjs treePanel 样式问题。。
function fire(input){
alert(input.id)
}
</script><input type="text" id="abc" onfocus="fire(this)" />
<input type="text" id="abd" onfocus="fire(this)" />
<div id="a1" onclick="t()">只在IE下有效</div>
<script>
t = function(){
alert(window.event.srcElement.id);
}
</script>
</body>
$("#abc").focus(function(){
alert($(this).attr("id"));
});
});<input type="text" id="abc" onfocus="javascript:function()/>
function __firefox(){
HTMLElement.prototype.__defineGetter__("runtimeStyle", __element_style);
window.constructor.prototype.__defineGetter__("event", __window_event);
Event.prototype.__defineGetter__("srcElement", __event_srcElement);
}
function __element_style(){
return this.style;
}
function __window_event(){
return __window_event_constructor();
}
function __event_srcElement(){
return this.target;
}
function __window_event_constructor(){
if(document.all){
return window.event;
}
var _caller = __window_event_constructor.caller;
while(_caller!=null){
var _argument = _caller.arguments[0];
if(_argument){
var _temp = _argument.constructor;
if(_temp.toString().indexOf("Event")!=-1){
return _argument;
}
}
_caller = _caller.caller;
}
return null;
}
if(window.addEventListener){
__firefox();
}
/*end firefox*/最后感谢下所有回答的朋友