2011-08-02 71 views
0

我的按鈕僅在第一次點擊時才被「點擊」。每次之後,點擊事件都會立即傳播給父母的onclick。這裏是按鈕的onclick:Javascript:stopPropagation僅在第一次使用?

$('.clickable .moveUp').click(function(e) { 
     moveUpWorkoutExercise($(this)); 
     e.stopPropagation(); 
    }); 

和HTML大綱:

<div class="clickable" onclick="toggleExerciseDetails(311,false)"> 
    <a class="moveUp disabled" title="Move this exercise up"></a> 

我怎樣才能讓每一次只是第一次的情況下工作,而不是?謝謝!

+0

你想讓它這樣的傳播再次啓動? – Matt

+1

沒有按鈕,有一個div元素包含一個沒有內容的A元素,不可能點擊它。監聽器連接到div和A,可能你只能看到div上的監聽器響應。 * toggleExerciseDetails *做什麼? – RobG

+0

@RobG - 監聽器只附加到錨元素('$('。clickable .moveUp')'意味着類爲「moveUp」的元素是class「clickable」的後代,對嗎?不是任何一個類的元素。 ),雖然div有自己獨立的onclick處理程序集內聯。很好地捕捉到不能點擊一個空錨點,儘管這可能只是一個簡單的例子。 – nnnnnn

回答

0

如果moveUpWorkoutExercise()函數中發生錯誤,那麼你的事件處理程序的執行將停止其到達e.stopPropagation();前行。該功能中是否有可能導致第二次點擊和後續點擊的內容?

(你可以嘗試把e.stopPropogation()第一,看看會發生什麼,但假設如果這樣做「工作」,它並沒有真正固定的根本問題。)