Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery删除视图中指定的事件处理程序_Javascript_Jquery_Asp.net - Fatal编程技术网

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;