3 jquery
我正在尝试使用委托来调用函数,当一组特定的链接被点击时.我之前在其他页面中已经使用过它.它在那里工作.但是,这次我甚至无法找到问题所在.
我的链接是动态生成的,它们看起来像
<a class="thumbLink" href="#" id="My HomeTown-1"><small>My HomeTown</small></a>
Run Code Online (Sandbox Code Playgroud)
而jQuery委托函数是,
$(document).ready(function(){
$("#albumHolder").delegate('a.thumbLink', 'click', this.loadAlbum);//albumHolder is div ID that holds all the <a> elements
this.loadAlbum = function(){
var id = this.id;
var number = id.lastIndexOf("-");
var alubmName = id.subString(0, number);
alert(albumName);
}
});
Run Code Online (Sandbox Code Playgroud)
更新:
我尝试了两个版本,但我无法使它工作!
$("#albumHolder").delegate('a.thumbLink', 'click', function loadAlbum(){
var id = this.id;
var number = id.lastIndexOf("-");
var alubmName = id.subString(0, number);
alert(albumName);
});
this.loadAlbum(){
var id = this.id;
var number = id.lastIndexOf("-");
var alubmName = id.subString(0, number);
alert(albumName);
}
$("#albumHolder").delegate('a.thumbLink', 'click', this.loadAlbum);
Run Code Online (Sandbox Code Playgroud)
上面的代码是在$(document).ready(function(){});.那是对的吗??我也尝试将它们放在一个单独的js文件中.我不能让它发挥作用.
关于我的问题的任何想法!
如果这是您的实际代码的顺序,那么您在尝试初始化之前尝试传递函数表达式.
扭转他们,它应该工作:
this.loadAlbum = function(){
var id = this.id;
var number = id.lastIndexOf("-");
var alubmName = id.subString(0, number);
alert(albumName);
}
$("#albumHolder").delegate('a.thumbLink', 'click', this.loadAlbum);
Run Code Online (Sandbox Code Playgroud)