Javascript appendchild onclick没有连线

时间:2014-09-16 17:11:36

标签: javascript web

我有一个问题,发生在IE和Chrome中...我正在使用JSON值创建自动完成text box ...

它按计划进行,除了我无法解决的事情......我正在尝试将onclick连接到我正在创建的每个新span元素,然后将其附加到主自动完成{{1 }}

div

我试过了:

 var deserialized = JSON.parse(json);
            for (var el in deserialized) {
                var span = document.createElement("span");
                var txtForSpan = document.createTextNode(deserialized[el]);
                span.appendChild(txtForSpan);
                span.appendChild(document.createElement("br"));
                elem.appendChild(span);
            }
            elem.style.display = "inline-block";

还有:

span.onclick = function(){alert("hi");}

甚至:

span.addEventListener('click', function() {alert("hi");});

任何人都可以对此有所了解吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

感谢大家的回复,epascarello,你的回答帮助我解决了什么问题。

事实证明,我在文本框中的“onblur”事件是在附加跨度的onclick之前触发的。

为了解决这个问题,我在onblur事件发生之前使用了一个小的超时,以便首先让onclick fire ....不太理想,但是效果很好......

文本框:

            onblur="hide()"

哪个电话:

            function hide(){
            setTimeout(function() {
                var elem = document.getElementById("completebox");
                elem.style.display = "none";
                elem.textContent = "";
            }, 300);}}