我有一个模板文件,它可以动态地包含在单个页面中的两个或多个DIV
内:
div将在以下AS:
1.查看div
2.编辑div
其他可以是 - RESOLUTION div ...
EDIT div为display none
,而VIEW div出现并反转。所以,一次只能出现一个。
模板文件包含以下javascript:
AJS.$(document).on('click', '#addROW', function()
{
console.log('calling');
....
..
}
现在,当我点击add
按钮(存在于模板文件中)时,它执行上面的事件,它应该添加一行并打印一条日志消息但是,它执行双倍因此,最初执行两次(作为模板包含在两个屏幕中)并打印两次消息'调用',并在一段时间后,它获得双倍4次执行。我希望它只能执行一次,并且只打印一次“呼叫”消息。
如何解决此问题。
看起来好像是因为javascript被多次添加..但我如何控制将其单次添加到页面中或以任何其他方式解决此问题?
谢谢
答案 0 :(得分:2)
您可以检查脚本是否已设置以分配新事件:
AJS.$(document).on('click', '#addROW', function (event) {
if (event.handled !== true) {
//put your code here
event.handled = true;
}
return false;
}
答案 1 :(得分:1)
试试这个
AJS.$(document).on('click', '#addROW', function(event)
{
event.stopPropagation();
console.log('calling');
....
..
}