.live()函数将事件绑定到错误的DOM元素

时间:2014-04-12 12:51:14

标签: jquery

我有以下代码:

$('#id').find('select').live('keypress', function (event) {
    if (event.which === 13) {
        event.preventDefault();
        $(this).closest('.ui-dialog').find('.ui-button:first').click();
    }
});

现在,在特定页面上,id ='id'的元素不存在。当我打开一个带有其他id的jQuery UI对话框,并在对话框中的选择列表上按Enter键时,会触发第一个.ui按钮的click事件。为什么?

1 个答案:

答案 0 :(得分:0)

您可以尝试ON功能吗?

$( "body" ).on( "keypress", "#id select", function(event) {
  ...
});