.click方法不能在jQuery中工作

时间:2014-08-27 08:11:30

标签: javascript jquery html

我放置了笑脸按钮以弹出新窗口并显示微笑

<textarea class="chattextarea" placeholder="Type message" name="message" id="message"  ></textarea>
<div class="smileybutton" id="smileybutton"></div>

我写了这样的脚本

jQuery('#smileybutton').click(function() {
        alert("Clickeddddd");
});

但警报无法正常工作..如果我在括号外放置了另一个alert,则可以在页面加载时使用。

6 个答案:

答案 0 :(得分:0)

尝试将jQuery代码放在document.ready中,如下所示:

$(document).ready(
   function() {
      jQuery('#smileybutton').click(function() {
          alert("Clickeddddd");
      });
   }
);

或者

jQuery(document).ready(
   function() {
      jQuery('#smileybutton').click(function() {
          alert("Clickeddddd");
      });
   }
);

如果您不想使用美元符号。

另外,请务必按照Axel和Sharky的建议添加jQuery。

    <script type="text/javascript" 
            src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
    </script>

编辑(特别感谢Axel和Sharky指出这一点)

经过简短的研究后,将您的脚本内容放在网页的body部分中会更好。

这是JFiddle:http://jsfiddle.net/LSostaric/qjcu8862/

答案 1 :(得分:0)

像这样输出功能代码

$(document).ready(function(){

jQuery('.smileybutton').click(function() {
        alert("Clickeddddd");
});

});

答案 2 :(得分:0)

不要忘记包含jQuery库:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

然后在document.ready块中添加您的代码:

$(document).ready(function()
{
    $('#smileybutton').click(function()
    {
        alert("Clickeddddd");
    });
});

小提琴:

http://jsfiddle.net/6tnmtf75/

重要提示:以某种方式为您的#smileybutton提供维度,以便您可以点击某些内容。我在jsfiddle的示例中添加了一些文字。 -i假设你有一些css应用于它(宽度/高度和笑脸的背景图像可能吗?)

答案 3 :(得分:0)

你需要像其他人所说的那样添加document.ready。如果添加为外部javascript文件,则需要换行

$(function(){});

目前,如果你没有设置div的宽度和高度,它将为零,无论你点击什么,它都不会附加DOM。所以你可能需要设置div宽度和高度,如下所示;

#smileybutton{

 width:100px;
 height:100px; 
}

您可以查看jsfiddle版本。

答案 4 :(得分:0)

如果您通过以下方式更改Javascript,它将会起作用:

$(function(){
    $('#smileybutton').click(function() {
        alert("Clickeddddd");
    });
});

答案 5 :(得分:0)

尝试使用此代码,这是另一种跟踪点击事件的方式。

jQuery('.smileybutton').live('click',function(){
    alert("Clickeddddd");
});