jQuery:
$('#foo').click(function() { alert('foo'); });
Или если Вы не хотите, чтобы он перешел по ссылке href:
$('#foo').click(function() { alert('foo'); return false; });
Попытка:
document.getElementById("foo").onclick = function (){alert('foo');};
Используйте .onclick
(весь нижний регистр). Как так:
document.getElementById("foo").onclick = function () {
alert('foo'); // do your stuff
return false; // <-- to suppress the default link behaviour
};
На самом деле, Вы, вероятно, найдете себя путем более обеспеченное использование некоторой хорошей библиотеки (я рекомендую jQuery по нескольким причинам) разбудить Вас и выполнение и запись чистого JavaScript.
перекрестный браузер (в) совместимости является правильным адом для контакта с для любого - уже не говоря о ком-то, кто только запускается.
Я соглашаюсь, что использование jQuery является наилучшим вариантом. Необходимо также избегать использования функции onload тела и использовать готовую функцию jQuery вместо этого. Что касается слушателей события, они должны быть функциями, которые берут один аргумент:
document.getElementById("foo").onclick = function (event){alert('foo');};
или в jQuery:
$('#foo').click(function(event) { alert('foo'); }
Вот дубликат YUI к сообщениям jQuery выше.
<script>
YAHOO.util.Event.onDOMReady(function() {
document.getElementById("foo").onclick = function (){alert('foo');};
});
</script>
На днях я перепробовал более или менее все остальные решения, но ни одно из них не работало на меня, пока я не попробовал это:
var submitButton = document.getElementById('submitButton');
submitButton.setAttribute('onclick', 'alert("hello");');
Насколько я могу судить, оно работает идеально.
Приведенный выше пример YUI на самом деле должен выглядеть так:
<script>
YAHOO.util.Event.onDOMReady(function() {
Dom.get("foo").onclick = function (){alert('foo');};
});
</script>