2010-07-07 6 views
0

Я пытаюсь установить событие в JavaScript, но он не работает. Я уверен, что делаю это правильно.Настройка события с DOM javascript

// in index.htm: 
function foo() { 
    // Load gets code from a php file via ajax 
    document.getElementById('div').innerHTML = load('phppage.php'); 
    document.getElementById('element').onClick = func; 
} 

// in lib.js: 
function func() { alert('Working'); } 

К сожалению ... он никогда не предупреждает о «работе». У меня есть Google Chrome, и я даже проверил элемент в инструментах разработчика и обнаружил, что свойство onClick было infact func() ... Я не понимаю, почему это не работает.

У меня есть широкое использование ajax. «Элемент» элемент фактически загружен с AJAX

ответ

4

Попробуйте изменить его «OnClick»

+0

Имена функций javascript чувствительны к регистру, поэтому +1 для вас! –

+0

Спасибо! это сработало. – Alan

+0

@Mike это не имена функций, см. Мой ответ ... – galambalazs

0

Я думаю, что свойство OnClick в нижнем регистре. Однако вы должны использовать методы привязки событий.

element.addEventListener('click',func); 

(и attachEvent для Internet Explorer)

-2

Конечно, есть много рамок там для обработки вопросов, кросс-браузер для этого, например:

ExtJS

JQuery

+1

как смена персонажа? О, я уверен, их много. Это не имеет никакого отношения к браузерам. Чувствительность к регистру - это часть языка. – galambalazs

+0

О чем вы говорите? Всем известно, что использование встроенных обработчиков - это плохая практика (http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/) Heck , вы даже защищаете одно и то же: http://stackoverflow.com/questions/3142710/inline-styles-vs-classes/3142741#3142741 В рамках абстрагируются различия в моделях событий, например, событие shared/singleton объект или разницу между addEventListener и attachEvent. Кажется, у вас что-то застряло в вашей спине;) –

1

HTML-атрибутыне, но javascript propertiesс учетом регистра. Для установки обработчика событий вам необходимо использовать onclick.

Смежные вопросы