Jquery onclick on div

时间:2011-08-12 00:06:43

标签: jquery

我有一个简单的问题。以下代码适用于所有标记:

$('*').click(function(e) {  
    alert(1);
});

但是,当我尝试使用id为“content”的div的代码时:

$('#content').click(function(e) {  
    alert(1);
});

我做错了什么?

6 个答案:

答案 0 :(得分:47)

确保它位于文档就绪标记内。或者,尝试使用.live

$(document).ready(function(){

    $('#content').live('click', function(e) {  
        alert(1);
    });
});

示例:

$(document).ready(function() {
    $('#content').click(function(e) {  
      alert(1);
    });
});
#content {
    padding: 20px;
    background: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div id="content">Hello world</div>

从jQuery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序。

$('#content').on( "click", function() {
    alert(1);
});

答案 1 :(得分:9)

没有

$('#content').click(function(e) {  
    alert(1);
});

将绑定到ID为content现有 HTML元素,并在点击时显示一个消息框。

  • 在使用该代码之前确保#content存在
  • 该ID 唯一
  • 检查您的Javascript控制台是否有任何错误或问题

答案 2 :(得分:1)

附加此事件后,是否可以创建id =“content”的div?你可以试试live()jquery方法。

否则,可能有多个具有相同ID的div或者您拼写错误,它会发生......

答案 3 :(得分:1)

$(document).ready()方法或$()

包裹代码
$(function(){

$('#content').click(function(e) {  
    alert(1);
});

});

答案 4 :(得分:0)

查看此fiddle ...您正确地执行了此操作。确保id是内容,并检查是否没有其他具有相同ID的元素。如果有多个元素具有相同的id,它将绑定到第一个元素。这可能就是你没有看到它的原因。

答案 5 :(得分:0)

JS

<script
  src="https://code.jquery.com/jquery-2.2.4.min.js"
  integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
  crossorigin="anonymous"></script>


<script type="text/javascript">

$(document).ready(function(){
    $("#div1").on('click', function(){
            console.log("click!!!");
        });
});

</script>

HTML

<div id="div1">div!</div>