我从绑定到表行的单击事件调用 jquery.fancybox 链接。该操作第一次工作正常,但是,如果我关闭 fancybox 并再次单击任何行,绑定到该行的匿名函数仍然会触发,但 fancybox 不会启动。这是我正在使用的 JavaScript:
$jq(document).ready(function() {
$jq('a.edit').fancybox({
'overlayShow': true,
'hideOnContentClick': false
});
$jq('tr').click(function() {
alert("clicked");
$jq(this).find('a.edit').trigger("click");
});
});
因此,在 HTML 中我将锚点归类为“编辑”:
<tr>
<td>...</td>
<td>
<a href="/candidates/22/qualifications/16/edit" class="edit">edit</a>
</td>
</tr>
我总是可以看到警报框,并且我可以将触发器/ click() 调用更改为remove(),它将“工作”,多次删除锚点。我还可以反复手动单击 $('.edit') 链接本身,这一切都很好。
那么,为什么锚点单击事件在从行单击事件依次发生时仅触发一次呢?这与我在描述函数时对 $(this) 的调用有关吗?
试一试:
$jq('a.edit').live('click',function(){
$.fancybox('<div>Here is the content</div>'{
overlayShow: true,
hideOnContentClick: false
});
return false;
});
或者,你可以这样做:
$jq('a.edit').live('click',function(){
$.fancybox({
href: 'some-page.html'
overlayShow: true,
hideOnContentClick: false
});
return false;
});
希望有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)