jQuery单击附加的类

时间:2018-08-02 11:54:43

标签: jquery class click append

这个问题已经解决了很多次,但是在我看来,这里找到的解决方案仍然无法解决问题。

我使用我购买的jQuery脚本(Codecanyon Real3d动画书),该脚本具有自己的js文件。 该脚本在称为“ .flipbook-right-arrow”的跨度上附加了一个类。并应用了“ NextPage()”功能。

我想做的是在我自己的自定义js文件中,在另一个事件的基础上添加我的另一个事件(原始的缩小脚本太复杂,太复杂了,我不敢理会)。

所以我从平常开始:

$('.flipbook-right-arrow').click(function(){
    alert()
})

这是行不通的,而且似乎很正常,因为已添加了该类。

好吧,所以,我在各处读到,这是正确的方法:

$(document).on('click', '.flipbook-right-arrow', function() {
  alert();
});  

但还是没事...

我也尝试了这些,但没有成功:

$( ".flipbook-right-arrow" ).live( "click", function() {
  alert();
});

$( document ).delegate( ".flipbook-right-arrow", "click", function() {
  alert();
});

$('.flipbook-right-arrow').on('click', function(){
    alert();
});

以下是将按钮添加到原始脚本中的方式:

self.btnNext = jQuery('<div class="flipbook-nav"><div class="flipbook-arrow-wrapper"><span class="flipbook-right-arrow skin-color skin-color-bg"></div></div>')
    .appendTo(self.bookLayer)
    .bind('tap click', function(e) {

        if (self.btnNext.disabled) return;
        self.btnNext.disabled = true
        setTimeout(function() {
            self.btnNext.disabled = false;
        }, 300)

        e.stopPropagation(); //here was the problem!
        e.preventDefault();
        self.Book.nextPage();
    });

出什么问题了? 是事件处理问题还是范围问题? 我只是不知道而且我还不足以深思熟虑。

仅供参考:

  • 我也“ e.prevenDefault()”编辑了它们,但没有成功。

  • 我的自定义js文件在所有其他脚本之后加载。

谢谢。

3 个答案:

答案 0 :(得分:1)

尝试一下:

$('.flipbook-right-arrow').on('click', function(){
    alert()
});

还要确保,因为“动画书右箭头”是一类,因为这就是您的称呼方式。

答案 1 :(得分:1)

尝试一下,看看您的事件是否是事件触发的

$(document).on('click', '.flipbook-right-arrow', function(e) {
    e.stopPropagation()
    alert('Why hello there')
}); 

注意::我通过的e作为函数的参数。那就是事件。现在,我们试图通过调用stopPropagation()来停止对该事件的所有绑定操作。

答案 2 :(得分:1)

Jeto发现了问题(谢谢)。

原始脚本停止了事件的传播,所以我摆脱了该指令,一切正常。

感谢大家的帮助!