我有一個很大的問題。加載後防止冒泡?
我有一個名爲「#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