1

我正在使用此功能更改模式按钮的 id

$('#editRevision a').click(function()
{   
    //clear the uploadify queue
    $('#file_upload').uploadifive('clearQueue');

    //change the id of the footer next button to pagesOrdered
    $('#next').attr('id' , 'pagesOrdered');
});

只是为了检查 '.on('click',function()) 是否正常工作,我使用以下

//Pages ordered click
$('#pagesOrdered').on('click',function()
{
     alert('Testing');
});

我的警报没有触发,但是如果我将其更改#pagesOrdered#next它会触发。我需要做什么才能从 DOM 中释放 #next。

谢谢!

4

1 回答 1

2

$('#pagesOrdered')调用代码时不存在。您可以在更改id或委托on()给更高级别的 DOM 树后添加点击处理程序并#pagesOrdered用作选择器

第一种方法:

$('#editRevision a').click(function(){   
    //clear the uploadify queue
    $('#file_upload').uploadifive('clearQueue');

    //change the id of the footer next button to pagesOrdered
    $('#next').attr('id' , 'pagesOrdered');
    //Pages ordered click
    $('#pagesOrdered').on('click',function(){
     alert('Testing');
     });
});

第二种方法:

 $(document).on('click','#pagesOrdered',function(){
     alert('Testing');
 });

您还应该#next在更改之前取消绑定附加到的事件id。更改id不会删除它们。可能是一种更简单的方法来处理您正在做的事情而无需更改id,例如切换类和在处理程序中运行类特定代码

于 2013-01-13T02:11:10.797 回答