У меня есть сценарий jquery, который динамически добавляет кнопки с событием onclick()
. Событие Onclick()
просто вызывает некоторую другую функцию JavaScript. JQuery отлично работает в том, что он создает кнопки динамически, но onclick()
событий триггеров без нажатия. Я положил сообщение об отладке в someFunction и увидел его number_of_created_buttons
раз, что означает, что событие onclick
запускает событие. Как предотвратить такое странное поведение? Я хочу, чтобы onClick
событие срабатывало только при нажатии пользователем кнопки.
Мой сценарий заключается в следующем:Как предотвратить запуск события onclick динамической кнопки при рендеринге?
<script>
$(document).ready(function() {
$('#getXmlFiles').click(function() {
$.get('/getUserDocs', function(responseJson) {
$("#docsDiv").empty();
var $table = $('<table>').appendTo($('#docsDiv')).width('100%');
$.each(responseJson, function(index, item){
var $btn = $('<button/>',
{
text: 'Action',
style:'width:100%',
click: someFunction(item)
});
$('<tr>').appendTo($table)
.append($('<td>').text(item))
.append($('<td>').append($btn));
});
});
});
});
</script>
вы можете произвести эту проблему здесь http://jsfiddle.net –