Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.07.2017, 03:03
Аватар для trizna
Новичок на форуме
Отправить личное сообщение для trizna Посмотреть профиль Найти все сообщения от trizna
 
Регистрация: 07.07.2017
Сообщений: 2

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\');" />');

Давно пытаюсь понять, в чем дело, но так и не понял.
Но очень интересно узнать, что может мешать.
Ответить с цитированием
  #2 (permalink)  
Старый 07.07.2017, 09:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

trizna, я вставил твой текст на страничку... Запустил... Все клики сработали.
Ответить с цитированием
  #3 (permalink)  
Старый 09.07.2017, 14:18
Аватар для trizna
Новичок на форуме
Отправить личное сообщение для trizna Посмотреть профиль Найти все сообщения от trizna
 
Регистрация: 07.07.2017
Сообщений: 2

Это понятно. Это я и сам сделал у себя на другой страничке.
Вопрос был: "что может мешать?"
Может быть, кто-то лучше знает теорию и понимает, что может блокировать действие по onClick на определенных элементах формы.
Ответить с цитированием
  #4 (permalink)  
Старый 09.07.2017, 16:00
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от trizna Посмотреть сообщение
Это понятно. Это я и сам сделал у себя на другой страничке.
Вопрос был: "что может мешать?"
Может быть, кто-то лучше знает теорию и понимает, что может блокировать действие по onClick на определенных элементах формы.
вариантов может быть много, чтобы вам помогли нужен конкретный пример, не гадание на кофейной гуще.
Ответить с цитированием
  #5 (permalink)  
Старый 10.07.2017, 09:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от trizna
что может блокировать действие по onClick на определенных элементах
Как уже написали выше - вариантов много...
Как вариант:
- обработчик удалили
- обработчик вылетает по ошибке
- элемент перекрыт другим элементом
- дочерний элемент останавливает всплытие события
Ответить с цитированием
  #6 (permalink)  
Старый 10.07.2017, 10:36
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

trizna,
Очень возможно, что на input и img есть другие обработчики, которые определяются позже и отменяют действие предыдущего
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ajax при заходе на страницу из поисковика - не работает Алексей_ГР Ваши сайты и скрипты 2 03.09.2013 00:03
Код работает не так как задумал. Обработчик onclick prowoke Общие вопросы Javascript 2 20.07.2011 23:31
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03
ява-скрипт выборочно работает-не работает zeta777 Internet Explorer 0 20.01.2010 11:41
Не работает onmouseup после выполнения onclick PAMAC Javascript под браузер 2 16.01.2010 14:55