2012-05-10 39 views
0

我試圖讓這個jquery腳本沒有關閉«openedElem»時,點擊«openedElem»的孩子?我的目標是將ajax表單插入到其中一個滑動面板中。有什麼建議麼?當「openElem」的孩子被點擊時,jquery腳本不會關閉«openedElem»?

<code> 
$(function(){ 
    var openedElem = null; 
    $("a.click").click(function(){ 
     var nextElem = $(this).next(); 

     if (openedElem !== null) { 
      if (openedElem.attr("id") === nextElem.attr("id")) { 
       return false; 
      } 
      openedElem.slideUp(); 
     } 

     openedElem = nextElem.slideDown(); 
    }); 
}); 
</code> 
+0

它看起來並不像如果點擊openedElem'的'後裔該代碼會被執行。 'openedElem'似乎是事件處理程序綁定的元素的**兄弟**,那麼問題是什麼? *編輯:*什麼是'openElement'? –

+0

使用信號量。 –

回答

0

如果<a>元素的子引起的事件處理程序來觸發,停止對那些孩子的冒泡。

與所有的HTML發佈,這將是一個狂野的猜想,但也許這將工作:

$("a.click").children().on('click', function(e) { e.stopPropagation(); }); 
+0

或'$(「a.click」)。children()。click(false)',雖然只是檢查處理程序中的event.target === this'是否可能更好。 –

+0

@FelixKling - 實際上是爲最後一個,因爲我時不時使用它,但是我在發佈的代碼中看到的所有變量都是一堆變量,所以使用安全選項時,因爲很難看到什麼是什麼在那個代碼中,至少對我來說呢? – adeneo

相關問題