Повесить событие на кнопку, не меняя кода кнопки
Я не очень хорошо разбираюсь в JS, так что возможно вопрос из области капитанства
Представим что у нас есть страница с каким-нибудь хтмл кодом. На странице есть кнопка с айдишником button1 Нужно по клику на кнопку совершать какое-нибудь действие Вопрос: как это прописать скриптом не в коде самой кнопки onclick="", а в шапке например, перед тегом body? И второй вопрос Если наша страница - это карточка товара, а в событие по клику на кнопку "отправить в корзину" нужно запихивать название товара (оно в каком нибудь конкретном теге прописано, h1 например). Как в этом случае в событие, которое совершается по клику, подсунуть название товара? |
1) В head поместить скрипт:
<script> document.getElementById('button1').onclick = function() { alert('Нажата кнопка'); } </script> 2) тегу в котором записано название (например h1) присвоить id <h1 id="product_name">Товар1</h1> и дальше при вызове функции написать <input type="button" name="button" onclick="func(document.getElementById('product_name').innerHTML)"> а функция будет выглядеть так: function fucn(product) { alert(product); //выведет Товар1 } |
<html><head> </head><body> <button id="mybutton">кнопка</button> <script language="javascript"><!-- document.getElementById('mybutton').onclick = function() { alert('Клик') } //--></script> </body></html> |
Цитата:
|
2FoxTrix - А вы проверьте сами ) Будет ли работать ваш совет ;)
У меня ощущение, что ваш скрипт надо помещать ниже кнопки ))) Т. е. не в head а в body |
document.body.onload = function(){ document.getElementById('button1').onclick = function(){ alert('CLICK'); }} |
dmitriymar, cyberblade,
ок, не прав, не проверил, спать хотел =) Ruslan_xDD, тогда уж <script> window.onload = function() { document.getElementById('button1').onclick = function() { alert('Нажата кнопка'); } } </script> т.к. document.body.onload = function(){} у меня тоже не работает |
2Ruslan_xDD - не покатит, скрипт будет выполняться первый раз без контроля пользователя... По событию онлоад ) Можно придумать костыль в виде переменной которую плюсовать, если принципиально надо скрипт поместить в хеад и использовать именно это решение )
З. Ы. не знаю на счет того сработает ли document.body.onload = function()... Но тупо <body onload="myfunc();"> точно сработает. Хотя особо разницы с первого взгляда и нет... |
Да способов можно много придумать :)
function loadbtn(){ document.getElementById('button1').onclick = function(){ alert('CLICK'); }} и вставить loadbtn() в самый конец body. |
Часовой пояс GMT +3, время: 11:11. |