Nees一些建议。
根据我的情况,需要将事件传递给span的onclick。请帮忙。
这是我目前的代码:
var evt1 = true;
var my_evt = (evt1 ? function () { alert('test'); } : null);
var str = "<span onclick=my_evt></span>";
感谢。
答案 0 :(得分:2)
你不能只检查事件处理程序中的条件,如果它是假的则不执行任何操作吗?
答案 1 :(得分:0)
如果您需要在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>";
但同样,这是...... 可怕的编码风格。