有谁知道我可能做错了什么?为什么这个基本的点击功能没有被执行到发送警报的程度。我将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>
答案 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');
});
}());