0
下面是一個小部件的片斷:的jQuery插件:連接到特定的元素事件
(function($){
var ele,_this;
$.widget('test.mywidget',{
_loadComments:function(d)
{
$.each(d,function(k,v){
var p=$('<div/>').addClass('comment').attr('id',v.id);
p.append("<textarea class='ui-border' onkeypress='_this._submitReply()'></textarea>");
ele.find('.prevComments').append(p);
});
},
_submitReply:function(){}
_attachEvent:function()
{
ele.on('change','textarea',function(){
alert('ta pressed');
});
}
_create:function(){
ele=this.element;
_this=this;
this._loadComments(somedata);
this._attachEvent();
}
});
});
的問題是,如果this._loadComments(somedata);
有兩個記錄,然後如果我按裏面的textarea alert('ta pressed');
鍵被調用2次,如果它被稱爲10次數據。它不應該發生這樣的事情。它應該爲每個textarea只調用一次警報消息。
如何將事件附加到單個元素?我想在這裏我將活動附加到所有textarea,這就是爲什麼。
如果我添加內聯事件像onkeypress='_this._somefunction()'
它說_this is undefined
但它在那裏。
嘗試http://jsfiddle.net/arunpjohny/y7PbH/1/ –
我在這裏沒有看到任何變化。它只是你已經粘貼我的代碼 – manish
不..我用'this.element.on('change'' –