我正在运行以下内容:
$("#myelement").unbind('click');
当我$("#myelement")[0].onclick
在 VS.NET 2010 Watch 窗口中查看时,我看到"{...}".
应该unbind('click')
删除onclick
事件吗?
我正在运行以下内容:
$("#myelement").unbind('click');
当我$("#myelement")[0].onclick
在 VS.NET 2010 Watch 窗口中查看时,我看到"{...}".
应该unbind('click')
删除onclick
事件吗?
尝试这个 :
$('#myelement').attr('onclick','').unbind('click');
不,它不会删除onclick
事件,如此处所示。
绑定的事件存储在 jQuery 对象中,因此,unbind
只需从 jQuery 对象中删除事件。
unbind
只会删除使用 jQuerybind
方法和/或不推荐使用的方法附加的事件live
。
如果您想onclick
使用 jQuery 重置实际事件,则只需使用以下方法之一:
$('#myelement').attr('onclick','');
$('#myelement').removeAttr('onclick');
如果您想将事件专门添加到onclick
元素的(不绑定 jQuery 单击事件),则只需使用以下命令:
$('#myelement').attr('onclick','alert(\'hello\')');
我强烈反对上述方法,但我相信你会欣赏,向它添加一个函数会有点棘手,以逃避所有的引号......
另外,我是否建议您改用on
和off
jQuery 方法。虽然这些仅在较新版本的 jQuery 中可用,但它们是此处所述的首选方法:
从 jQuery 1.7 开始,.on() 方法是将事件处理程序附加到文档的首选方法。对于早期版本,.bind() 方法用于将事件处理程序直接附加到元素。处理程序附加到 jQuery 对象中当前选定的元素,因此这些元素必须存在于调用 .bind() 的位置。有关更灵活的事件绑定,请参阅 .on() 或 .delegate() 中有关事件委托的讨论。
有关详细信息,请参阅以下内容: