jQuery删除在View中指定的事件处理程序

时间:2016-04-08 15:03:37

标签: javascript jquery asp.net

我的理解是,当使用unbindoff 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仅适用于bindoff仅适用于on。我在jQuery API网站上说这是

  

.off()方法删除附加了.on()

的事件处理程序

如果是这种情况,我可以不在视图中应用处理程序吗?

我想添加我想在视图中执行此操作,并且我想应用来自ViewModel

的唯一ID

任何帮助都会有所帮助

由于

1 个答案:

答案 0 :(得分:0)

您可以使用removeAttr()

$('#theID').removeAttr('onkeypress'); 

将事件处理程序设置为null

$('#theID'')[0].onkeypress = null;