下面alert第一次没值,第二次有值,有大佬知道大概问题出在什么地方吗
$(document).on('click', '.dialog_edit', function () {
$('tbody tr td').click(function () {
tdIndex = $(this).index()
});
$('tbody tr').click(function () {
trIndex = $(this).index()
});
alert(tdIndex,trIndex)//第一次没值,第二次有值,
});
第一次点击dialog_edit,为td、tr绑定点击事件,触发alert,这是undefined
第二次点击dialog_edit,再次为td、tr绑定事件,这里重复绑定了,触发alert,这里有值,是因为td、tr、dialog_edit的点击事件为冒泡触发,所以先运行td->tr,为index赋值,再触发document的点击事件
代码逻辑惨不忍睹,jq是命令式的,没那么多花里胡哨,你可以直接像下面这样写。