このトピックに関する多くの記事をstackoverflowで見つけましたが、正確な問題の解決策を誰も教えてくれませんでした.
これまでのところ正常に動作するjQueryプラグインがあります。そのプラグインで、新しいDIVs
. また、これらの new にクリック イベント リスナーを追加したいと考えていますDIVs
。このような:
(function ($) {
$.fn.myFunc = function(options) {
// Options + Defaults
var settings = $.extend({
// Some options in here
}, options);
var controls = "\
<div class='controls'>\
<button class='btn-add-text'>Add Text</button>\
</div>\
";
$('.btn-add-text').click(function() {
alert("Test");
});
$(this).after(controls);
return this;
};
})(jQuery);
私の最初の考えは、新しい div が実際に DOM 内にある前にイベントリスナーが呼び出されたため、それは不可能であり、機能しないということでした。そこで、.click(func... ブロックをプラグイン コードの外に移動し、次のように document.ready 関数内に配置しました。
$(document).ready(function() {
$('.btn-add-text').click(function() {
alert("Test");
});
});
これも私にはうまくいきません。この問題の解決策はありますか?