Ссылка на функцию JavaScript в обработчике onclick динамически добавляемого элемента - PullRequest
0 голосов
/ 30 января 2012

Я перебираю кучу элементов и хочу добавить ссылку, которая будет запускать короткий фрагмент JavaScript.Я делаю это будет скрипт содержания в расширении Chrome.Функция do_something определена в том же файле, что и my_func, и является частью расширения Chrome.

my_func выглядит следующим образом:

function my_func() {
    $(".matching_class").each(function() {
        $(this).html('<a href="javascript:do_something();">foo</a>');
    });
}

Проблема заключается в том, когдаЯ нажимаю на свои блестящие ссылки и получаю следующее:

Uncaught ReferenceError: do_something не определено

Как я могу ссылаться на do_something из my_func?

Ответы [ 2 ]

1 голос
/ 30 января 2012

Вероятно, было бы лучше связать вашу функцию с событием нажатия гиперссылки, чем вводить вызов javascript: my_func ();

Что-то вроде этого (не проверено):

$(".matching_class").each(function() {
    $this.bind('click', do_something);
});

или с анонимной функцией:

$(".matching_class").each(function() {
    $this.bind('click', function() {
        //do_somethintg code
    });
});
0 голосов
/ 30 января 2012

Попытайтесь поместить функцию do_something перед my_func.

. Возможно, из-за того, что при вызове do_something, он может не найти my_func, как определено после my_func.

As A Движок JavaScript - это интерпретатор , который интерпретирует исходный код JavaScript и соответствующим образом выполняет скрипт.

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