我有一个gridview(gdvMyInfo),其中包含我用jQuery抓取的q列链接。
$('#<%= gdvMyInfo.ClientID %>').delegate('a', 'click', function(){
var link = $(this).attr('href');
....
return false;
});
这工作得很好,但现在会有第二列包含链接,我需要打开分页。现在,我将jQuery更改附加到这些新链接。
我在我需要的链接上有一个“myInfoClass”类,但是使用类作为选择器似乎对我不起作用(不确定它是否为委托,因为它没有选择好)。
$('.myInfoClass').delegate('a', 'click', function(){
这不起作用,所以我想我可以使用.hasClass()函数,但也失败了。
$('#<%= gdvMyInfo.ClientID %>').hasClass('myInfoClass').delegate('a', 'click', function(){
此操作失败,并显示“.delegate不是函数”的错误消息
那么,在使用委托时,如何使用委托来链接选择器以获取我的gridvie“gdvMyIfno”中的任何<a>
和任何类型的“myInfoClass”?
答案 0 :(得分:2)
只需将类添加到选择器:
$('#<%= gdvMyInfo.ClientID %>').delegate('a.myInfoClass', 'click', function(){
现在click
只会触发具有<a>
类的myInfoClass
元素。
.delegate()
的工作方式是将处理程序放在容器#<%= gdvMyInfo.ClientID %>
上。然后在该容器内点击的元素与a.myInfoClass
选择器进行比较。如果元素与选择器匹配,则调用处理程序。