我有一个问题,发生在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");});
任何人都可以对此有所了解吗?
非常感谢。
答案 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);}}