click事件不适用于动态创建的按钮

时间:2015-05-25 11:55:22

标签: javascript jquery

我正在使用谷歌翻译器创建动态翻译栏,它显示原始按钮(点击图片链接下方)。

我要触发"显示原创"的点击事件按钮手动使用javascript或jquery但是不起作用,请参阅我尝试的一些代码片段。

$("#myBtn").click(function(){
    $("#\\:1\\.restore").click();
    //or
    $("#\\:1\\.restore").on('click');
    //or
    $("#\\:1\\.restore").trigger('click',jQuery.Event( "click" ));
    //or
    document.getElementById(':1.restore').click();
})

imageURL:http://1drv.ms/1KhfLbo

3 个答案:

答案 0 :(得分:2)

myBtn上的事件未被触发且您的事件处理程序无法正常工作。 对于动态添加的元素,请使用event delegation

$(document).on('click', '#myBtn', function() {
    // Your Code Here
});

trigger事件:

$("#\\:1\\.restore").trigger('click');

答案 1 :(得分:1)

您需要来自document

等容器的委托
$(document).on('click', '#\\:1\\.restore', function(){...}));
  

我要触发"显示原创"的点击事件手动按钮

使用

$('#\\:1\\.restore').trigger('click')

$('#\\:1\\.restore').click();//with no parameters

答案 2 :(得分:0)

我得到了答案。 实际上翻译栏是在iframe标签内,所以我们需要选择iframe(容器)然后选择其中的任何元素。

$("#myBtn").click(function(){
    $('#\\:1\\.container').contents().find('#\\:1\\.restore').click(); 
});