请原谅我,如果我将错误的标题标题标出,我在猜测我的问题可能是什么,因为我不是JavaScript编码专家。我有一系列的div由php循环生成,其唯一id是通过添加包含在mysql db表中的自动增量列中包含的唯一id创建的,其中包含该行的所有信息。在由php循环创建的独特行上创建javascript事件侦听器
当用户点击的div这一功能触发关:
onclick=\"showModal('".$rowInfo['ID']."_row-id')\"
javascript代码:
function showModal(ID) { /* code that shows hidden modal window */ }
这工作得很好,但现在我要开始添加JavaScript按钮(在我的情况带有onclick函数的img标签)与showModal onclick函数的div。
我将此代码添加到的ShowModal(ID)功能:
var downArrow = document.getElementById(ID+'_down-arrow'); // Down arrow is the button users click to show addition buttons/divs
downArrow.addEventListener('click',arrowCheck,false); // checks to see if down arrow was clicked, if so arrowCheck function runs and stops propagation.
arrowCheck功能:
function arrowCheck(e) { e.stopPropagation(); }
这段代码也工作,但只有在用户点击了DIV一次,第一次单击div时,两个函数都会触发(即模式窗口和向下箭头显示的额外按钮),但在第一次单击后,addEventListener会执行它的作业,单击向下箭头只会显示额外的按钮,其他位置会显示莫代尔等
我猜我需要在用户点击div并触发showModal()之前创建事件监听器,这是正确的吗?我不确定如何在单击div之前为每个向下箭头图像创建唯一的事件侦听器,或者即使需要。谢谢你的帮助!