我動態創建構建視圖的對象,並在單擊時將事件綁定到構造視圖。但是,click事件總是將自己附加到最後創建的對象。我確實希望每個對象具有相同的單擊事件,但傳遞給新類的數據每個實例都是唯一的。Jquery多個點擊事件
創建對象:
$.each(data,function(i,json)
{
var channelWrapper = new ChannelDisplayView(that.channelContainer, json);
that.channelContainer.append(channelWrapper.createView());
});
ChannelDisplayView.js
function ChannelDisplayView(parent, data){
this.parent = parent;
this.data = data;
}
ChannelDisplayView.prototype.createView = function(){
this.channelWrapper = $("<div/>").addClass("channelDisplay").attr("id", this.data.fullName);
this.channelTitle = $("<div/>").addClass("channelTitle").html(this.data.fullName);
this.channelSource = $("<div/>").addClass("sourceType").html(this.data.sourceType);
this.channelWrapper.append(this.channelTitle);
this.channelWrapper.append(this.channelSource);
that = this;
this.channelWrapper.unbind().on("click",function(event){
ControllersSingleton.getInstance().getProgramController().setupPage(that.data);
});
return this.channelWrapper;
}
正如你可以看到每個班將舉行自己的JSON數據,這應該被用來傳遞到另一個控制器如果一個實例點擊「div」。無論我點擊的div是否始終來自上次創建的對象,都會發送數據。
我在這裏錯過了一些明顯的東西嗎?
jsFiddle或jsBin的機會嗎? – noitse