基本.click功能我无法开始工作jQuery

时间:2012-02-03 22:04:06

标签: jquery

有谁知道我可能做错了什么?为什么这个基本的点击功能没有被执行到发送警报的程度。我将jQuery-1.7.1.js链接到我的页面。

的jQuery

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>


<script type="text/javascript" src="../fruith/jquery-1.7.1.js"></script>

<script type="text/javascript">
function checkedDark () {

$('#activate_post_checkbox').click(function(){
    alert('duh')

  $('#work').css('color', this.checked ? '#000' : '#666');

});


}
</script>

</head>

HTML

<body>
<div id="work">blah blah blah</div>


<input type="checkbox" id="activate_post_checkbox" value="active"  /><span id="activate_post_checkbox_text">Make my posting active immediately.</span>
</body>
</html>

8 个答案:

答案 0 :(得分:6)

您需要在document.ready功能中指定点击事件,或先调用checkedDark()功能。

例如:

<script type="text/javascript">
$(function() { 

  $('#activate_post_checkbox').click(function(){
      alert('duh');
      $('#work').css('color', this.checked ? '#000' : '#666');
  });
});
</script>

答案 1 :(得分:1)

您可以在函数中定义侦听器。也许这应该是准备好的文件......

$(document).ready(function() {

$('#activate_post_checkbox').click(function(){
    alert('duh')

  $('#work').css('color', this.checked ? '#000' : '#666');

});


});

另外,您可能需要考虑使用.on而不是.click,因为这在以后的jquery版本中更像是标准......

$('#activate_post_checkbox').on('click', function(){
    alert('duh')

  $('#work').css('color', this.checked ? '#000' : '#666');

});

答案 2 :(得分:0)

function checkedDark () {

$('#activate_post_checkbox').click(function(){
    alert('duh')

  $('#work').css('color', this.checked ? '#000' : '#666');

});


}
checkedDark ();

答案 3 :(得分:0)

<script type="text/javascript">
$(function(){

    $('#activate_post_checkbox').click(function(){
        alert('duh')

      $('#work').css('color', this.checked ? '#000' : '#666');

    });

});
</script>

答案 4 :(得分:0)

因为在绑定到click事件时DOM尚未就绪。 将脚本移动到文档末尾或按$(document).ready(function() { ... });包裹它:

$(document).ready(function() {
    // your code here
});

答案 5 :(得分:0)

click事件处理程序仅在执行checkedDark方法时附加。我没有看到在您的页面中调用此方法。

在页面加载时执行它将附加处理程序。试试这个。

$(function(){

   $('#activate_post_checkbox').click(function(){
       alert('duh');//Though its not the issue but add the semicolon
       $('#work').css('color', this.checked ? '#000' : '#666');
    });

});

或者这样做。

$(checkedDark);

或者在关闭body标签之前调用页面末尾的函数,以便jQuery可以使用该元素。

checkedDark();

答案 6 :(得分:0)

您可以致电checkedDark ()并将点击事件置于其中或在checkedDark功能

之外点击事件
function checkedDark () {

}

$('#activate_post_checkbox').click(function(){
    alert('duh')

  $('#work').css('color', this.checked ? '#000' : '#666');

});

答案 7 :(得分:0)

您没有调用checkedDark函数,并且没有处理程序附加到该复选框。此外,您需要确保页面上的元素已准备就绪。使用.on()方法而不是单击()。

(function checkedDark () {

$('#activate_post_checkbox').on('click', function(){
    alert('duh');

  $('#work').css('color', this.checked ? '#000' : '#666');

});

}());