我有一个(对我来说)奇怪的问题。 我打开那个开放的网址。当用户点击某个flashplayer(谁在div中)时我需要做 我把javascript代码
<script type="text/javascript">
$("player").click(myfunc());
</script>
<script type="text/javascript">
document.getElementById('player').addEventListener('click', myfunc(), false);
</script>
但是有问题..这不适用于点击(当用户点击#player时),这工作当用户加载页面(onload)而我不需要时,我需要点击启动功能... 问题在哪里?
答案 0 :(得分:2)
首先,您似乎缺少jQuery选择器中的#
字符(我假设它是一个ID选择器,因为您还使用getElementById
给出了一个示例),所以它当前查找名为player
的元素,而不是ID为“player”的元素。
其次,当您将myfunc
函数传递给click
函数时,您不希望执行该函数。相反,你想传递对函数的引用(注意缺少括号):
$("#player").click(myfunc);
对于您的第二个示例也是如此,但您使用getElementById
时没有使用#
字符传递字符串是正确的:
document.getElementById('player').addEventListener('click', myfunc, false);
答案 1 :(得分:0)
您需要发送function references:
<script type="text/javascript">
$("#player").click(myfunc);
</script>
<script type="text/javascript">
document.getElementById('player').addEventListener('click', myfunc, false);
</script>
当您$("#player").click(myfunc());
时,您实际上正在执行myfunc
。 @Paul指出你也错过了选择器的jQuery id标识符。
答案 2 :(得分:0)
你做错的是你没有将该函数作为对jQuery click方法的引用传递,而是执行它。
将$("player").click(myfunc());
替换为$("player").click(myfunc);
,一切都应按预期工作。这同样适用于您的第二个例子。