Jquery单击Click处理程序

时间:2017-09-13 06:45:27

标签: javascript jquery

我对jquery点击事件有一些奇怪的行为。这是我的代码:

$("#item").on("click",function(){
    //do some stuff
    $("#item2").click(); // doesn't work!
});

但点击#item时第二次点击无效。手动单击item2时,它确实有效。我这样做是为了工作:

$("#item").on("click",function(){
    //do some stuff
    document.getElementById("item2").click(); //WORKS!
});

我还在jquery点击触发器之前尝试了event.preventDefault(),但这也不起作用。

有人可以解释为什么这对jquery不起作用吗?

4 个答案:

答案 0 :(得分:0)

你不能使用click()作为一个简单的方法,它必须是一个函数,所以你应该trigger()点击事件:

$("#item").on("click",function(){
    //do some stuff
    $("#item2").trigger("click");
});

答案 1 :(得分:0)



$(function(){
    $("#item").on("click",function(){
        //do some stuff
        $("#item2").trigger('click'); // Now Works !!!
     });

    $("#item2").on("click",function(){
        //do some stuff
     alert('working')
    });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="item">item1</button><button id="item2">item1</button>
&#13;
&#13;
&#13;

请参阅此fiddle。 我添加了

$("#item2").trigger('click'); 

代码。

答案 2 :(得分:0)

以下是您的解决方案:

$("#item2").trigger('click'); //使用jQuery的触发器功能

答案 3 :(得分:0)

您是否阅读过JQuery的文档?在https://api.jquery.com/click/中解释了onClick,你可以找到为什么event.preventDefault在JQuery触发器之前不起作用

解决方案:

$("#item2").trigger('click'); // Use trigger function of jQuery to Trigger

请阅读文档