作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我试图在 Fancybox 的 onComplete
事件中使用 jQuery 的 $(this)
,但我遇到了麻烦。这是我的 javascript 代码:
$('a.iframe').fancybox({
centerOnScroll: true,
onComplete: function(){
var self = $(this);
var title = self.title;
alert(title.text());
}
});
我已经简化了上面的代码以表达我的观点,但实际上我更愿意使用 $(this)
有几个原因,我不会在这里详述。
Fancybox 的文档显示了在其文档中使用 this
而不是 $(this)
的示例,但我没有看到任何在 onComplete
或其他事件。我当然尝试过使用 this
,但无济于事。
有谁知道我如何通过使用 $(this)
或任何其他方式在 onComplete
事件?
编辑:我使用 Blackcoat 让它工作的建议,这是有效的最终语法:
$('a.iframe').fancybox({
centerOnScroll: true,
onComplete: function( links, index ){
var self = $(links[index]);
var title = self.find('.title').text();
alert(title);
}
});
最佳答案
$(this) 指向 Fancybox 对象,所以这就是它不指向元素的原因。如果你想获取目标元素,你可以这样做:
var $self = $(this.element);
关于javascript - 如何在 Fancybox 的 onComplete 事件中使用 $(this) ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3920937/
我是一名优秀的程序员,十分优秀!