онклик не работает - PullRequest
       3

онклик не работает

0 голосов
/ 12 мая 2011

У меня есть веб-страница с некоторыми ссылками (для этих ссылок нет идентификатора).Я хочу добавить функцию onclick к этим ссылкам.просмотрев исходный код этой веб-страницы, я понял, что могу добавить onclick к ссылкам, используя следующий код:

doc = doc.replace(/&sa=N\"/g, "&sa=N\" onClick=\"alertsomething();return false;\"");

function alertsomething(){
alert('hello');
}

, но когда веб-страница загружена, и я нажимаю на эти ссылки, функция «alertomthing»не работаетон генерирует следующую страницу:

Объект не найден!

Запрошенный URL не найден на этом сервере.Ссылка на ссылающейся странице кажется неправильной или устаревшей.Пожалуйста, сообщите автору этой страницы об ошибке.

Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру.

Ошибка 404 localhost 12/05/2011 10:00:29 AM Apache / 2.2.17 (Win32) mod_ssl / 2.2.17 OpenSSL / 0.9.8o PHP / 5.3.4 mod_perl / 2.0.4 Perl / v5.10.1

Я проверил следующий код, и он работает правильно

doc = doc.replace(/&sa=N\"/g, "&sa=N\" onClick=\"alert("hello");return false;\"");

Я использую IE7.

1 Ответ

1 голос
/ 12 мая 2011

Не связывайтесь с body.innerHTML, если вы точно не знаете, что делаете. Он удалит прослушиватели, добавленные как свойства DOM, а также анализ HTML с регулярным выражением, безусловно, завершится неудачей на любой нетривиальной странице.

Существует коллекция document.links, которая является каждой ссылкой на странице, итерируйте по ней и добавьте своего слушателя в каждую ссылку. Или добавьте прослушиватель одним щелчком к телу и дождитесь кликов - если они приходят по ссылке, делайте свое дело.

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