function barvaInfo(event) {
$(document).ready(function(){
var nid = window.event.srcElement.id;
}
这适用于IE,但不适用于FF。我可以使用jquery吗?我尝试使用JQuery事件api,但后来我不知道如何从中获取ID。
答案 0 :(得分:4)
如果你正在使用jQuery,你需要为你的事件处理程序分配一个参数,然后在每个事件中将参数传递给你的函数。
您可能还希望从接收事件的元素的上下文中调用它。
// some mouseover event handler
$('div').mouseover( function( e ) {
barvaInfo.call( this, e )
});
function barvaInfo( event ) {
// element that originated the event
var nid = event.target.id;
// in this function, because we're using .call() to invoke it,
// "this" will reference the element that invoked the handler
}
答案 1 :(得分:2)
event object
通过jQuery为您规范化并传递到每个event handler
:
$('someelement').bind('click', function(event) {
var nid = this.id; // event.target.id
});
在处理程序中,this
指的是调用的dom节点。因此this.id
将解决元素的id
。或者,事件对象拥有一个名为target
的属性,该属性也代表元素。
修改强>
正如patrick dw
指出的那样,this
将始终是对事件处理程序绑定到的节点的引用。 event.target
正是它所说的,即实际目标的元素。请参阅注释以获取示例链接。