onClick работает по-разному
Дорогие друзья и коллеги!
Есть функция, которая после выполнения изменяет location окна. Если сделать кнопку на <span> или <div> с событием onclick="Func('blabla');", то она работает. Но если то же самое сделать на <input /> или <img /> - то не работает.
function wo(s) {location = "?s";}
// так работает:
document.write('<div onclick="wo(\'sub\');">Click</div>');
// и так тоже:
document.write('<span onclick="wo(\'sub\');">Click</span>');
// но если завернуть в тот же span или div картинку - не работает.
// И так тоже не работает:
document.write('<img src="image.png" onclick="wo(\'sub\');" />');
// и так не работает:
document.write('<input type="button" value="Click" onclick="wo(\'sub\');" />');
Давно пытаюсь понять, в чем дело, но так и не понял. Но очень интересно узнать, что может мешать. :blink: |
trizna, я вставил твой текст на страничку... Запустил... Все клики сработали.
|
Это понятно. Это я и сам сделал у себя на другой страничке.
Вопрос был: "что может мешать?" Может быть, кто-то лучше знает теорию и понимает, что может блокировать действие по onClick на определенных элементах формы. |
Цитата:
|
Цитата:
Как вариант: - обработчик удалили - обработчик вылетает по ошибке - элемент перекрыт другим элементом - дочерний элемент останавливает всплытие события |
trizna,
Очень возможно, что на input и img есть другие обработчики, которые определяются позже и отменяют действие предыдущего |
| Часовой пояс GMT +3, время: 06:54. |