Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何仅将单击触发器绑定到单击的元素?_Javascript_Jquery - Fatal编程技术网

Javascript 如何仅将单击触发器绑定到单击的元素?

Javascript 如何仅将单击触发器绑定到单击的元素?,javascript,jquery,Javascript,Jquery,我有一些元素具有fbutton类。如何将click元素仅绑定到clicked元素。我有这样一个代码: $('.fbutton').click(function() { /* Some Code 1 */ $(this).next().click(); /* Some Code 2 */ enough; }); $(th

我有一些元素具有
fbutton
类。如何将click元素仅绑定到clicked元素。我有这样一个代码:

    $('.fbutton').click(function() {

        /*
            Some Code 1
        */
            $(this).next().click();
        /*
            Some Code 2
        */
            enough;
    });
$(this).next().单击()行触发对某个元素的单击,但也会触发所有其他
fbutton
元素(这部分让我很烦恼

想到的第一个解决方案是在一些代码2之后结束脚本处理。作为回报;不工作,我使用了非法的javascript代码,导致代码执行异常结束它有效,但它不是结束执行的正确方法。如何结束javascript执行,或者如何仅为单击的元素触发事件


更多澄清

我只想点击.fbutton来触发那么jquery是否识别单击的元素呢?我也不能为任何.fbutton元素定义任何类,因为触发器应该取决于用户单击。

单击给它一个类,并将单击触发绑定到它

$('.fbutton').on('click',function() {

    // Code 1

    $(this).hasClass('clicked')) ? $(this).next().trigger('click') : $(this).addClass('clicked');

    // Code 2

});
另外,使用jQuery vs$?我为您保持了一致性,但如果您可以使用$,我推荐它

编辑

为了澄清我的答案:

这是一个三元if语句。它检查单击的项目是否有一个类
clicked
,如果有,则它会将单击分配给
$(this).next()
,但如果它还没有该类,则会添加该类(尚未绑定click语句)。当再次单击该元素时,它将单击类
,因此它应该会触发

这允许您仅将单击事件绑定到已单击的元素

第二次编辑


单击一次example,除了添加类之外,什么都不会发生,再次单击它,它将触发单击next按钮,但不会触发任何其他操作。第二个按钮也是如此,因此您可以看到它们是每个配对的独立事件,与任何其他按钮配对无关。

您尝试过使用StopperPagation吗

$('.fbutton').on('click',function(e){
    e.stopPropagation();
   $(this).next().trigger('click'); 
});

每次都使用“$”符号而不是jQuery是常见的做法。我知道,为了安全起见,我使用jQuery。这样做实际上是有害的,因为它会阻止您看到争用(编写良好的代码没有)。如果由于插件管理不善或其他原因导致争用,您的代码将使用
$
中断,这将迫使您进行修复。谢谢,但我想知道Yii framework为什么使用jQuery语句?不确定,但我可以告诉您
$
工作正常=>请澄清您的答案好吗?我希望这已经足够澄清了,但是如果你需要更多,请告诉我。谢谢@plantheidea,但它不起作用。因为这个场景将对所有其他fbutton元素重复。哦,我误解了,您只需要某些
.fbutton
元素来触发它,这就是您的意思吗?因为这实际上是不可能的,所以只需将另一个类添加到所需的特定项并触发基于该另一个类的
单击
绑定就更容易了。我只希望单击.fbutton来触发。那么jquery不识别单击的元素?我也不能为任何.fbutton元素定义任何类,因为触发器应该依赖于用户单击。