我正在运行以下内容:
$("#myelement").unbind('click');
在“ VS.NET 2010监视”窗口中查看
$("#myelement")[0].onclick
时,我看到了"{...}".
unbind('click')
是否应删除onclick
事件? 最佳答案
不,它不会删除onclick
事件,如here所示。
绑定的事件存储在jQuery对象中,因此unbind
只是从jQuery对象中删除该事件。unbind
将仅删除使用jQuery bind
方法和/或已弃用的live
方法附加的事件。
如果要使用jQuery重置实际的onclick
事件,则只需使用以下方法之一:
$('#myelement').attr('onclick','');
$('#myelement').removeAttr('onclick');
如果要为元素的
onclick
添加一个事件(不绑定jQuery click事件),则只需使用以下命令:$('#myelement').attr('onclick','alert(\'hello\')');
我强烈建议您不要使用上述方法,不过,我相信您会赞赏的,为此添加一个函数将所有引号转义会有些棘手...
另外,也许我建议您改用
on
和off
jQuery方法。虽然这些仅在较新版本的jQuery中可用,但它们是此处所述的首选方法:从jQuery 1.7开始,.on()方法是首选
将事件处理程序附加到文档。对于早期版本,
.bind()方法用于将事件处理程序直接附加到
元素。处理程序将附加到当前选择的元素中
jQuery对象,因此这些元素必须在调用时存在
.bind()发生。有关更灵活的事件绑定,请参见讨论
.on()或.delegate()中的事件委派。
有关更多信息,请参见以下内容:
jQuery Attr Method
jQuery Bind Method
jQuery Unbind Method
jQuery On Method
jQuery Off Method
关于jquery - unbind('click')是否会删除onclick?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16425973/