Javascript jQuery删除视图中指定的事件处理程序
我的理解是,当使用Javascript jQuery删除视图中指定的事件处理程序,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我的理解是,当使用unbind和offjQuery方法时,我应该能够从元素中删除事件处理程序,如下所示 在视图中创建的文本框,应用了onkeypress事件处理程序 @Html.TextBoxFor(Function(m) m.sometext, New With {.onkeypress = "eventhandler();", .id = "theID"} 试图删除事件的JavaScript function eventhandler() { alert("should only
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
时有效。正如jQueryAPI网站所说的那样
.off()方法删除附加了.on()的事件处理程序
如果是这种情况,我可以不在视图中应用处理程序吗
我想添加我想在视图中执行此操作,并且我想应用来自ViewModel
任何帮助都会有帮助
谢谢您可以使用
removeAttr()
或者将事件处理程序设置为null
$('#theID'')[0].onkeypress = null;
你可以试试
$('#theID')
或$('#theID')[0]代码>是,长官。这里的教训是不要想太多。简单的答案往往是最好的。如果你把它作为答案写下来,我会记下来的。谢谢
$('#theID'')[0].onkeypress = null;