使用javascript点击事件的循环引用
Circular reference using javascript click event
我在JavaScript中有一个类,它有一些函数。其中两个应该更改按钮的文本及其onclick事件。我试着自己做,但我遇到了一个循环参考问题。我相信我必须使用类似"preventDefault()"的东西,但我不能使用它…
遵循我的类函数:
this.add_person = function(row, btn) {
$(btn).parent().parent().addClass("selected_row");
$(btn).text("-");
$(btn).attr("onclick", function(e) {
//e.preventDefault();
$.adfg.tabs.del_person(row, btn);
});
}
this.del_person = function(row, btn) {
$(btn).parent().parent().removeClass("selected_row");
$(btn).text("+");
$(btn).attr("onclick", function() {
//$.adfg.tabs.add_person(row, btn); it starts to call the other function and the circular reference to the functions starts...
});
}
这是按钮
'<a class="btn btn-info btn-sm" onclick=$.adfg.tabs.add_person(' + meta.row + ',this)>' + '+' + '</a>'
为什么不试试这样的东西?
无需更改click
事件,只需检查每次调用的状态。。。
'<a class="btn btn-info btn-sm" onclick=$.adfg.tabs.add_delete_person(' + meta.row + ',this)>' + '+' + '</a>'
this.add_delete_person = function(row, btn)
{
// if the text is equal to a minus then we're deleting
if($(btn).text() == "-")
{
$(btn).parent().parent().removeClass("selected_row");
$(btn).text("+");
}
// else we're adding
else
{
$(btn).parent().parent().addClass("selected_row");
$(btn).text("-");
}
};
相关文章:
- 如何处理javascript中的循环引用,类似于Excel提供迭代限制的方式
- 装饰$errorProvider时的循环引用
- 使用javascript点击事件的循环引用
- 使用 jQuery 将 HTML 文本抓取到 JSON 中,但由于循环引用而无法字符串化
- 为什么$().map生成循环引用
- 这是否在javascript中创建循环引用
- JS - 数字循环引用
- 如何在 JavaScript 和浏览器中处理循环引用
- 可观察量相互依赖以获取自己的值 - 循环引用
- 循环引用似乎在事件处理程序函数中不起作用
- JavaScript <-> DOM 循环引用问题的精确解释
- jQuery data()如何破坏循环引用
- 多次循环引用对象,将其属性复制到Javascript/Angularjs中的其他对象
- 此模式是否会导致闭包中出现循环引用
- 我应该如何在JavaScript中设置循环引用
- javascript函数之间的循环引用
- 循环引用木偶.js
- jQuery.从循环引用扩展safe
- 循环引用阻塞了jsonwebtoken.JSON.stringify的签名原因
- 字符串化一个循环引用对象的浅拷贝