Назначить функцию JavaScript для элемента DOM - PullRequest
7 голосов
/ 18 февраля 2010

Я использую библиотеку mshtml для анализа html через MSHTML.HTMLDocument.

Мой вопрос: есть ли способ назначить функцию javascript для элемента dom?я пробовал что-то вроде:

div.onmouseover = "function(){alert('mouseover')}"

и

div.setattribute "onmouseover" , "function(){alert('mouseover')}"

без успеха (без ошибок, но и без эффекта)Кто-нибудь знает, возможно ли это?

thx

Ответы [ 7 ]

5 голосов
/ 20 мая 2010

Всегда используйте функцию, а не присоединяйте строку кода в своем javascript. Вы можете сделать это, назначив анонимную функцию. Функция получает объект события в качестве единственного аргумента, который содержит информацию о событии, если вам нужно знать координаты x / y, где находилась мышь.

div.onmouseover = function(event) {
    //do stuff
};
1 голос
/ 18 февраля 2010

Вы пытались не использовать анонимные функции? Например вместо

div.onmouseover = "function(){alert('mouseover')}"

Используйте что-то вроде

div.onmouseover = "alert('mouseover');"
0 голосов
/ 05 августа 2010

попробуйте использовать

button.onclick = new Function («someFunctionName (‘ input »+ counter +« ‘)»);

вместо функции () {alert ("mouseover"), это будет работать для динамически создаваемых элементов управления

обратите внимание на различие в написании слова 'function' и 'new Function'

0 голосов
/ 14 апреля 2010
div.onmouseover = function(){alert("mouseover")}
0 голосов
/ 27 февраля 2010

Вы определяете функцию, но не вызываете ее. Вы должны вызвать функцию, включив скобки вызова. Используйте

div.setattribute "onmouseover" , "function(){alert('mouseover')}()"
0 голосов
/ 18 февраля 2010

Попробуйте это:

div.setattribute "onmouseover" , "alert('mouseover');"
0 голосов
/ 18 февраля 2010

попробуйте использовать

<script>

в вашей строке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...