2011-08-05 90 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