onclick事件立即执行而不点击

时间:2014-01-07 08:04:57

标签: javascript onclick

我正在处理一些包含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的新手,我需要在一个大项目中找到几个错误。

1 个答案:

答案 0 :(得分:1)

在问题评论中找到了答案。这里只是评论的复制/粘贴,可以正确地解决问题。

on()是定义事件的正确方法,无法自动执行。因此,我会要求使用.click().trigger('click')

检查代码中的其他位置是否未调用click事件