JavaScript可以在JSFIDLE中工作,但不能在浏览器的html文件中工作
我正在尝试将复选框检查事件与其他事件(例如对话框显示)连接起来。但是,当我在浏览器中测试html文件时,我似乎无法使click事件正常工作。不过,它在JSFIDLE中确实可以工作,这很奇怪 我的HTML:JavaScript可以在JSFIDLE中工作,但不能在浏览器的html文件中工作,javascript,jquery,jquery-mobile,checkbox,onclick,Javascript,Jquery,Jquery Mobile,Checkbox,Onclick,我正在尝试将复选框检查事件与其他事件(例如对话框显示)连接起来。但是,当我在浏览器中测试html文件时,我似乎无法使click事件正常工作。不过,它在JSFIDLE中确实可以工作,这很奇怪 我的HTML: <label><input type="checkbox" name="checkbox-0" id="myCheckbox" /> Completed </label> 我编写的html文件: <!DOCTYPE html> <htm
<label><input type="checkbox" name="checkbox-0" id="myCheckbox" /> Completed </label>
我编写的html文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<script>
// On clicking of the completed checkbox, we want to pop up a dialog for confirmation.
var checkboxClicked = function() {
if ($("#myCheckbox").is(":checked")) {
alert('checked!');
console.log('checked!')
}
};
$( "input[type=checkbox]" ).on( "click", checkboxClicked );
</script>
</head>
<body>
<label><input type="checkbox" name="checkbox-0" id="myCheckbox" /> Completed </label>
</body>
</html>
//单击“已完成”复选框后,我们希望弹出一个对话框进行确认。
var checkboxClicked=function(){
如果($(“#myCheckbox”)。是(“:checked”)){
警报('已检查!');
console.log('checked!')
}
};
$(“输入[类型=复选框]”)。在(“单击”,复选框单击);
完整的
默认情况下,JSFIDLE将把代码包装在加载处理程序中
尝试将代码包装到:
$(window).load(function(){
var countChecked = function() {
if ($("#myCheckbox").is(":checked"))
{
alert('checked!');
}
};
$( "input[type=checkbox]" ).on( "click", countChecked );
});
默认情况下,JSFIDLE将把代码包装在加载处理程序中 尝试将代码包装到:
$(window).load(function(){
var countChecked = function() {
if ($("#myCheckbox").is(":checked"))
{
alert('checked!');
}
};
$( "input[type=checkbox]" ).on( "click", countChecked );
});
你必须把你的代码放在里面
$(document).ready(function(){
...
});
因为脚本在呈现复选框之前出现
编辑
你可能会对我的第一个答案产生疑问。感谢Omar的评论和
应该是这样,而不是.ready()
函数:
$(document).on('pageinit') {
...
});
你必须把你的代码放在里面
$(document).ready(function(){
...
});
因为脚本在呈现复选框之前出现
编辑
你可能会对我的第一个答案产生疑问。感谢Omar的评论和
应该是这样,而不是.ready()
函数:
$(document).on('pageinit') {
...
});
更多细节。什么浏览器?控制台是否显示错误?我们不能神奇地知道这一点!!删除
.ready()
并更改单击更改。复选框和单选按钮收听change
事件。编辑:演示更多细节。什么浏览器?控制台是否显示错误?我们不能神奇地知道这一点!!删除.ready()
并更改单击更改。复选框和单选按钮收听change
事件。编辑:演示现在可以正常工作了!今天学到了一些新东西D谢谢你!这是完全错误的,我不知道它是如何被接受和3票以上.ready()
不应该在jQuery Mobile中使用,为什么@奥马尔,对此我很抱歉。我还没有试过jquerymobile。我不知道他们有这种区别。无论如何,谢谢你,我今天也学到了一些新东西。LOL将您的答案更改为$(文档)。在('pageinit',函数(){
,并添加我提供的作为参考的链接。此外,还将通知OP更改。谢谢,祝您好运!今天学到了一些新的东西。:D谢谢!这完全错了,我不知道它是如何被接受的,还有3次投票。.ready()
不应该在jQuery Mobile中使用,为什么?@Omar对此我很抱歉。我还没有尝试过jQuery Mobile。我不知道它们有这样的区别。无论如何,谢谢你,我今天也学到了一些新东西。请将你的答案改为$(文档)。on('pageinit',function(){
并添加我作为参考提供的链接。此外,还将通知OP更改。谢谢,祝您好运