stopPropagation onclick не работает во вложенном списке - PullRequest
0 голосов
/ 05 августа 2011

У меня есть следующая функция для обмена изображениями по щелчку ul во вложенном списке, но это не останавливает всплывание списка ..

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")'>

Я попробовал возврат, потому что это то, что я нашел в другом ответе, но он все еще не работает.Я был бы очень признателен за любую помощь, спасибо!

1 Ответ

1 голос
/ 05 августа 2011

Метод stopPropagation находится в объекте event, его нельзя вызвать в строке. Вам также не хватает скобок, поэтому он просто получает свойство stopPropagation из строки (которое возвращает undefined) и удаляет его.

Отправка объекта события из обработчика события в функцию:

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

Использовать объект события в функции:

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