我正在開發一個jQuery插件。問題是,當我將這個插件分配給單個元素時,它可以正常工作。當我分配2個不同的元素,那麼插件將無法按預期工作。自定義jQuery插件在多個元素上工作
問題:
當我點擊動態通過插件追加列表中,我試圖打印特定元素的ID,但如果我在任何一個點擊,我得到兩個元素的ID。
結果:
Object[input#a1]
Object[input#a2]
例HTML:
<div><input type="text" id="a1" /></div>
<div><input type="text" id="a2" /></div>
的jQuery:
$("#a1").xyz(); $("#a2").xyz();
<div>
<input type="text" id="a1" />
<div class=".xyz-list">some text</div> // dynamically created by plugin
</div>
<div>
<input type="text" id="a2" />
<div class=".xyz-list">some text</div> // dynamically created by plugin
</div>
示例代碼:
(function($) {
$.fn.xyz = function(opt) {
var defaults = $.extend({
select: 4,
error: null
}, opt);
return this.each(function() {
var ele = $(this);
// APPEND LIST TO ELEMENT'S PARENT
ele.parent().append('<div class="xyz-list">SOME TEXT</div>');
// WHEN CLICK ON LIST
$(".xyz-list").live('click', function() {
var current_list = $(this);
console.log(ele);
return false;
});
});
}
})(jQuery);
jquery版本用過嗎? –
@ArunPJohny jQuery版本1.8 – sravis