我有一个很大的问题。加载后防止冒泡?
我有一个名为“#box”的div点击链接在它之后加载外部内容:
$("#box a").click(
function(e)
{
e.preventDefault();
var hash = this.parentNode.hash;
$("#boxLoaded").load('boxFiles/'+ hash.substring(1) +'.html');
$("#box").fadeOut(100);
$("#boxLoaded").fadeIn(200);
});
易到目前为止:)
当有人在“#boxLoaded”点击任何地方它消失,再次装载盒,所以它看起来像在开头:
$("#boxLoaded").click(
function()
{
$("#boxLoaded").fadeOut(200);
$("#box").show();
});
问题是我有一个菜单命名加载文件“对话框菜单”(#boxLoaded内),当有人CLI cks他们 - 上面的代码正在执行(淡出#BoxLoaded并显示#Box)。
我想阻止它的发生,而是:
$("#box-menu").click(
function(e)
{
e.preventDefault()
});
怎么办?它工作正常,当我没有加载()这些文件...
奥赫。我终于可以用jQuery做这个菜单了(你的选择器工作的很好,我可以改变边界/背景等),但是停止传播stil不起作用。怎么了?
@fomicz - 您是使用'.live()'还是重新绑定?根据顺序,您可能希望重新绑定以确保安全,否则绑定顺序可能很重要(它们按绑定顺序执行),因此您可能需要切换到'.delegate()'并将其绑定。 – 2010-09-13 13:28:31
第一种方法不起作用,但第二种方法不起作用。辉煌!你一直在这里,难道你不是某种机器人尼克吗? ;) – fomicz 2010-09-13 13:53:32