我有一个用JavaScript创建的表。在按钮上单击它应该带来该行的行ID,但是当单击该按钮时,行ID会被警告两次。
这是我的JavaScript代码:
newContent += Hesto.Html.CreateTD('<button type="button" value="Print" class="btnprint" onclick="test(this)">', null);
function test() {
$("button").click(function () {
var row = $(this).parents('tr').attr('id');
var rowtext = $(this).closest('tr').text();
alert(row);
});
}
答案 0 :(得分:2)
它不止一次警告的原因是你多次委托同一个事件,使用这样的事件委托并删除元素上的onclick="test(this)"
$(document).on('click','.btnprint',function(){
var row = $(this).parents('tr').attr('id');
var rowtext = $(this).closest('tr').text();
alert(row);
});
答案 1 :(得分:0)
在你的情况下你可以按两次按钮1)onclick =“test(this)”,2)按钮点击
function test() {
var row = $(this).parents('tr').attr('id');
var rowtext = $(this).closest('tr').text();
alert(row);
}
其他明智的你可以使用委托.. @Anton发布方法
$(document).on('click','.btnprint',function(){
var row = $(this).parents('tr').attr('id');
var rowtext = $(this).closest('tr').text();
alert(row);
});
答案 2 :(得分:-1)
function test() {
$(document).on('click', '.btnprint', function () {
var row = $(this).parents('tr').attr('id');
var rowtext = $(this).closest('tr').text();
alert(rowtext);
});
}