Возможно ли манипулировать сгенерированными элементами JavaScript? - PullRequest
2 голосов
/ 16 июля 2010

У меня есть страница, динамически генерируемая с помощью JavaScript, и она содержит несколько полей ввода и кнопку.Когда я нажимаю кнопку, ничего не происходит ... Это потому, что это объект javascript, а не "настоящий" объект dom?Если да, есть ли способ взаимодействия с объектом?

Я просто написал простое предупреждение, чтобы увидеть, работает ли кнопка.

jQuery("#button").click(function() {
   alert("yes it's working");
});

При загрузке первой страницы это работает...Я считаю, что при загрузке первой страницы это сгенерированный PHP, и когда я нажимаю на другой раздел, эта же кнопка будет отображаться, НО страница не обновляется, поэтому это заставляет меня поверить, что когда я нажимаю на другой раздел, она динамически перезагружается.-произведенный с помощью JS.

Теперь, если я нажимаю кнопку, ничего не происходит ... без ошибок или без предупреждений ...

Ответы [ 2 ]

3 голосов
/ 16 июля 2010

Вам нужно использовать .live, потому что в момент времени, когда вы назначаете обработчик, элемент не существует.

$('#button').live('click', function() {
});

Вам также следует изучить делегат, если вы делаете это с несколькими элементами в целях эффективности.

2 голосов
/ 16 июля 2010

Мне кажется, я понимаю, что вы говорите.

Когда вы запускаете jQuery('#button'), он тут же ищет элементы.Событие присоединяется к самой кнопке, а не к строке запроса #button.

jQuery предлагает, однако, требуемое поведение.

jQuery('#button').live('click', function () { /* on click event */ });

live присоединяется кСтрока запроса, а не элементы, поэтому она будет применяться ко всем #button, когда-либо созданным в будущем.

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