使用asp.net的JQuery .live事件导致错误

时间:2012-01-04 18:47:09

标签: asp.net jquery

我正在尝试将jquery用于asp.net中的动态内容。以下代码给出了错误。

代码:

    $(".NumericOnly").live('keydown', function (evt) {
        alert('test');
    });

错误:

Microsoft JScript运行时错误:对象不支持此属性或方法

控件:

<asp:TextBox runat="server" ID="txtMerchandiseRegisnumAN" Class="NumericOnly" Text="" MaxLength="11" ></asp:TextBox>

如果我执行正常的keydown事件,我可以让它工作,但这不适用于动态内容。

感谢您的帮助!

4 个答案:

答案 0 :(得分:2)

使用CssClass而非Class(或查看输出并注意它不存在)

答案 1 :(得分:1)

jQuery 1.7+中不推荐使用live()函数。而是尝试:

$(document).on('keydown', '.NumericOnly', function (e) {
    alert('test');
});

live()已被弃用,因为众所周知会导致很多问题。也许这会解决它。

答案 2 :(得分:0)

试试这个

      $("#<%=txtMerchandiseRegisnumAN.ClientID%>").live('keydown', function (evt) {
       alert('test');
       });

答案 3 :(得分:0)

我会检查jquery是否正确加载。我之前遇到过这个问题,通常是因为没有加载jquery。

您可以通过添加此javascript代码进行检查

if (jQuery) {  
    // jQuery is loaded  
} else {
    // jQuery is not loaded
}