2011-08-05 6 views
0

それは同じように呼び出されの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のクリックで画像を交換するには、次の機能を持っているが、それはリストをバブリング停止doesntのこれは

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

私は別の答えで見つかったものだから、リターンを試みましたが、それでもまだ仕事はありません。私は大変感謝しています。

+0

step.stopPropagation。 - あなたは関数名の後にここだけまたはあなたのコードのあとに()を逃しましたか? –

答えて

1

stopPropagationメソッドはeventオブジェクトにあり、文字列で呼び出すことはできません。あなたはまた、括弧がないので、文字列(undefinedを返す)からstopPropagationプロパティを取得して破棄します。

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

は、関数内でイベントオブジェクトを使用します:

は、関数にイベント・ハンドラからイベントオブジェクトを送信

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

きれいに働いてくれてありがとう – Kyle

関連する問題