我正在使用slimbox(http://www.digitalia.be/software/slimbox),这是一种非常流行的jQUery轻型灯箱。
我过去曾经使用过很多,但是现在我有点卡住了。我有一个通过AJAX加载的表单,因此我需要使用.on()
功能来激活slimbox。
但是我无法使它工作。我看了一下slimbox代码,它对我来说没有多大意义。我在我的尝试:
$("#content.settings").on("click","div.scroll a.slimbox", function (e) {
e.preventDefault();
$(this).slimbox();
});
这有效,但仅在第二次单击时有效,由于某种原因,它需要两次单击同一对象才能起作用。有任何想法吗?
最佳答案
问题是,第一次单击元素时尚未在元素上初始化slimbox
,当您第一次单击该元素进行初始化时,随后的单击工作正常。
一种可能的解决方案是在初始化小部件后触发click事件
$("#content.settings").on("click","div.scroll a.slimbox", function (e) {
var $this = $(this);
e.preventDefault();
if(!$this.data('slimboxed')){
$this.slimbox().data('slimboxed', true).click();
}
});
关于php - 用.on()加载超薄盒子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18058229/