添加了自定义属性,不会触发脚本

时间:2018-11-05 13:52:35

标签: javascript jquery html html5

我正在使用脚本src,当将自定义属性添加到元素时,该脚本可以打开灯箱框架。

一个例子看起来像这样

<button data-custom-attr="123"> </button>

当我手动添加它时它可以工作,但是首先我必须通过先删除一些属性来替换已经存在的类似脚本。

我正在使用jQuery选择元素,删除属性并添加新属性。但是,当我将它们添加到元素中时,单击它不会触发灯箱弹出窗口。我也尝试过创建一个新元素并用它替换当前元素,但是它也不起作用。

可能是什么原因?可以使用jQuery实现吗?

我正在使用的代码:

<button class="mybtn" data-prop='1'></button>

javascript

jQuery(".mybtn").each(function (index, object) {

  $(this).removeAttr('data-prop');
  $(this).attr('data-custom-attr','123');


});

(属性在我检查时添加到元素中)

2 个答案:

答案 0 :(得分:1)

我相信,灯箱脚本在DOM-Ready上运行一次。如果您在之后操作DOM,则脚本可能不会注意到这一点。是否可以重新运行脚本?

答案 1 :(得分:0)

尝试通过绑定单击主体而不是单击按钮本身来触发事件,例如:

$('body').on('click', '[data-custom-attr="123"]', function(){
    // the code when button is clicked
}