2011-08-02 41 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()第一,看看会发生什么,但假设如果这样做“工作”,它并没有真正固定的根本问题。)