我的理解是,当使用unbind
和off
jQuery方法时,我应该能够从元素中删除事件处理程序,如下所示
在视图中创建的文本框,其中应用了onkeypress
事件处理程序
@Html.TextBoxFor(Function(m) m.sometext, New With {.onkeypress = "eventhandler();", .id = "theID"}
试图删除事件的JavaScript
function eventhandler()
{
alert("should only hit once");
// this doesnt unbind the event
$("#theID").unbind("onkeypress");
// Nor does
$("#theID").off();
//???
}
我的想法可能是unbind
仅适用于bind
,off
仅适用于on
。我在jQuery API网站上说这是
.off()方法删除附加了.on()
的事件处理程序
如果是这种情况,我可以不在视图中应用处理程序吗?
我想添加我想在视图中执行此操作,并且我想应用来自ViewModel
任何帮助都会有所帮助
由于
答案 0 :(得分:0)
您可以使用removeAttr()
$('#theID').removeAttr('onkeypress');
或将事件处理程序设置为null
$('#theID'')[0].onkeypress = null;