将活动添加到动态HTML
问题描述:
需要一些建议。将活动添加到动态HTML
根据我的情况,需要将事件传递给span范围。请帮忙。
这里是我当前的代码:
var evt1 = true;
var my_evt = (evt1 ? function() { alert('test'); } : null);
var str = "<span onclick=my_evt></span>";
感谢。
答
难道你不能只检查事件处理程序内部的条件,如果它是假的什么也不做?
答
如果你需要有点击执行一些代码时evt1
是真的,我会建议只是把代码中的HTML本身实际跨度onclick
。
<span onclick="if (evt1) { myEvt() }">...</span>
在Javascript中动态构建HTML通常会“愤怒饥饿的人”。尤其是如果HTML本身包含更多的Javascript。这有点噩梦。
但是,如果你的心脏设置就可以了,下面是做这件事:
var str;
if (evt1) {
str = "<span onclick=\"function() { alert('test'); } \"></span>";
} else {
str = "<span></span>";
}
虽然在一般,你必须有一个很好的理由使用这种方法,因为该字符串必须最终进入HTML文档才有用。
您也可以建立串这样的:
var str = "<span" + (evt1 ? " onclick=\"function() { alert('test'); }\"" : "") + "></span>";
但同样,这就是 - 什么都不缺可怕编码风格。
什么范围? HTML代码在哪里? – aaaidan 2012-03-30 04:05:22
var str =' – user1215811 2012-03-30 04:05:27
对不起,当我第一次尝试发布我的HTML代码消失。 – user1215811 2012-03-30 04:06:06