Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
循环中两个不同变量上的javascript addEventListener->;第一个侦听器不工作_Javascript_Javascript Events_Addeventlistener - Fatal编程技术网

循环中两个不同变量上的javascript addEventListener->;第一个侦听器不工作

循环中两个不同变量上的javascript addEventListener->;第一个侦听器不工作,javascript,javascript-events,addeventlistener,Javascript,Javascript Events,Addeventlistener,只有按钮nendNumber eventlistener被正确触发。buttonStartNumber没有执行任何操作 function appendNumberButtons() { var xpathExpression = 'id("delform")/div/div/div/div/div/div' var xpathResult = document.evaluate(xpathExpression, document, null, XPathR

只有按钮nendNumber eventlistener被正确触发。buttonStartNumber没有执行任何操作

function appendNumberButtons()
    {
        var xpathExpression = 'id("delform")/div/div/div/div/div/div'
        var xpathResult = document.evaluate(xpathExpression, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)

        var buttonStartNumber
        var buttonEndNumber

        for ( var i=0 ; i < xpathResult.snapshotLength; i++ )
        {
            buttonStartNumber = document.createElement("input")
            buttonStartNumber.setAttribute('type', 'button')
            buttonStartNumber.setAttribute('value',"S"+i)
            //buttonStartNumber.addEventListener('click', function(i){ return function(I){alert(i)} }(i), false);
            listnerHelper(buttonStartNumber, i);


            buttonEndNumber = document.createElement("input")
            buttonEndNumber.setAttribute('type', 'button')
            buttonEndNumber.setAttribute('value',"E"+i)
            //buttonEndNumber.addEventListener('click', function(i){ return function(I){alert(i)} }(i), false);
            listnerHelper(buttonEndNumber, i);

            xpathResult.snapshotItem(i).innerHTML += " -> "
            xpathResult.snapshotItem(i).appendChild(buttonStartNumber)
            xpathResult.snapshotItem(i).innerHTML += " - "
            xpathResult.snapshotItem(i).appendChild(buttonEndNumber)
        }
    }
函数appendNumberButtons()
{
var xpathExpression='id(“delform”)/div/div/div/div/div/div'
var xpathResult=document.evaluate(xpathExpression,document,null,xpathResult.ORDERED\u NODE\u SNAPSHOT\u TYPE,null)
var按钮启动号
var按钮编号
对于(var i=0;i”
xpathResult.snapshotItem(i).appendChild(buttonStartNumber)
xpathResult.snapshotItem(i).innerHTML+=“-”
xpathResult.snapshotItem(i).appendChild(ButtonnendNumber)
}
}
我尝试过的事情:

一个额外的函数listenerHelper(object,i)->nop buttonStartNumber、ButtonStendNumber作为数组,包括和不包括listenerHelper(对象,i)->nop


我的错误在哪里?

在测试
buttonStartNumber.addEventListener('click',函数(i){return function(i){alert(i)}}(i),false)后是否有效?您是否在代码中输入了错误的
listnerHelper
?listnerHelper只是一个输入错误id,没有在注释中修复。在摆弄了几个小时之后,我对xpathResult.snapshotItem(I).innerHTML+=“-”行进行了注释,所有内容都开始工作。Wtf?解决方案:textNode=document.createTextNode(“-”)xpathResult.snapshotItem(i).appendChild(textNode)问题现已解决thx Littmy您的欢迎伙伴,我很高兴它对您有效;)