2011-08-05 74 views
0

我有以下的函數,在嵌套列表中的UL的點擊交換圖像,但它不停止冒泡名單..stopPropagation的onclick沒有嵌套表工作

function bimageswap (step) { 
    step.stopPropagation; 
    realstep = parseInt(step) + 1; 
    nextsteps = realstep + 1; 
    for (iss = nextsteps;iss <= 5; iss++) { 
     document.getElementById("step" + iss).className = 'step' + iss; 
     alert(iss); 
    } 
    document.getElementById("step" + realstep).className = 'step' + realstep + 'a'; 
/*$("#step2").css('background-image', 'images/adtl_prodimg/discs/step1_.png');*/ 
    return false; 
} 

它被稱爲像這個:

<ul onclick='return bimageswap("4")'> 

我試過返回,因爲這是我在另一個答案中發現,但它仍然無法正常工作。我將不勝感激任何幫助,謝謝!

+0

step.stopPropagation; - 你錯過了()函數名後只有在這裏或你的代碼呢? –

回答

1

stopPropagation方法是在event對象中,你不能在一個字符串上調用它。你也錯過了括號,所以它只會從字符串中得到stopPropagation屬性(它返回undefined)並放棄它。

從事件處理程序發送事件對象給該函數:

<ul onclick="bimageswap(event, '4');"> 

使用事件對象的功能:

function bimageswap(event, step) { 
    event.stopPropagation(); 
    ... 
+0

非常感謝你的工作 – Kyle