我正在处理一些包含span元素的click事件的代码(这段代码是创建span的函数的一部分):
$("span[class=addnewsqlwherevalue][id='" + opts.counters[3] + "']").click(
function(e) { ...});
它在那里定义之后立即执行,当我单击指定的span元素时也会立即执行,尽管我只想在单击元素时执行它。
我也尝试过:
function clickSpan(e) {...}
$("span[class=addnewsqlwherevalue][id='" + opts.counters[3] + "']").onclick = clickSpan;
在上述情况下,它永远不会执行。
$("span[class=addnewsqlwherevalue][id='" + opts.counters[3] + "']").on('click', function(e) {...}); // same as the first approach
我查看了类似的问题,但他们没有包含有效的解决方案。这段代码不是来自我,所以我可能会错过一些东西,但我认为在代码中没有任何地方执行此onclick事件(因为该函数在创建时完全被调用)。
请耐心等待,我是javascript的新手,我需要在一个大项目中找到几个错误。
答案 0 :(得分:1)
在问题评论中找到了答案。这里只是评论的复制/粘贴,可以正确地解决问题。
on()
是定义事件的正确方法,无法自动执行。因此,我会要求使用.click()
或.trigger('click')