触发并单击事件,但额外参数不起作用

时间:2017-07-01 13:09:41

标签: javascript jquery

由于某种原因,我的自定义jquery代码无法正常工作。这段代码有什么错误请检查

$(function(){
  $(".element1").on("click",function(a){
    if(a=="yes"){  alert("yes"); }
    alert("element1 is clicked");
  });

  $(".element2").on("click",function(){
    alert("element2 is clicked");
    $(".element1").trigger("click",["yes"]);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" class="element1" value="element1">
<input type="button" class="element2" value="element2">

https://jsfiddle.net/vL3kskb5/

为什么会在这里没有提醒?

1 个答案:

答案 0 :(得分:3)

function(a){
    if(a=="yes"){  alert("yes"); }

由于您在回调中执行此操作,因此单击事件将是您正在接收的参数。不是你传递的字符串。并且事件对象永远不等于&#34;是&#34;

是的,除非您添加新参数,否则将忽略您传递的内容。

$(".element1").on("click",function(a, v){

    if(v=="yes"){  alert("yes"); }

https://jsfiddle.net/sureshatta/vL3kskb5/3/