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, время: 07:30. |