Javascript js控制台中的ReferenceError-SCRIPT5009:';频道点击';是未定义的
我在js控制台的IE9中遇到了一个“SCRIPT5009:‘channel_click’is undefined”错误。该代码在chrome和firefox中工作,但在点击链接启动IE9中的js序列时,它突然停止 我一直试图解决这个问题,但没有成功,但我所做的是一系列事件的发生时间:Javascript js控制台中的ReferenceError-SCRIPT5009:';频道点击';是未定义的,javascript,jquery,html,Javascript,Jquery,Html,我在js控制台的IE9中遇到了一个“SCRIPT5009:‘channel_click’is undefined”错误。该代码在chrome和firefox中工作,但在点击链接启动IE9中的js序列时,它突然停止 我一直试图解决这个问题,但没有成功,但我所做的是一系列事件的发生时间: 1) onclick - toggle div to hide 2) wait 1500 3) open print command - User closes the window to return to p
1) onclick - toggle div to hide
2) wait 1500
3) open print command
- User closes the window to return to page
4) wait 3500 toggle div to show again
我这样做的原因是,当用户决定打印页面时,我不希望打印预览拾取这些div序列
JavaScript:
<script>
//WAITS UNTIL EXCESS IS HIDDEN THEN FIRES PRINT COMMAND
function channel_click(){
// anon wrapper function, 2 second delay
setTimeout( function () {
window.print();return false;
} , 1500 );
}
</script>
<script>
//HIDES EXCESS IN PREP FOR FIRING PRINT COMMAND PREVIOUS FUNCTION EXECUTES IN BETWEEN FOLLOWING FUNCTIONS
$(".hideshow").click(function () {
$("#header,#footer").toggle("slow");
setTimeout( function () {
$("#header,#footer").toggle("slow");
} , 3500 );
$('.modal-backdrop').hide();
});
</script>
//等待直到多余部分被隐藏,然后触发打印命令
功能通道_单击(){
//anon包装函数,2秒延迟
setTimeout(函数(){
window.print();返回false;
} , 1500 );
}
//隐藏多余的点火准备打印命令上一个函数在以下函数之间执行
$(“.hideshow”)。单击(函数(){
$(“#页眉,#页脚”)。切换(“慢速”);
setTimeout(函数(){
$(“#页眉,#页脚”)。切换(“慢速”);
} , 3500 );
$('.modal background').hide();
});
HTML:
Edt模式
这里有一些信息文本
打印我!
打印我-打印我-打印我
Edt模式
这里有一些信息文本
哇,这是更多的文字
在尝试在html中使用javascript文件之前,是否加载了该文件?
如果您这样做了,那不是问题所在,但是如果您不尝试链接到html文件末尾的.js文件
如果你不想这样做,你必须将你的频道包装起来,点击window.onload或者使用jQuery
$(document).ready(function() {
function channel_click() {
....
}
})
尝试从定位标记中删除onclick:
<a href="#" role="button" class="hideshow">Print Preview</a>
JS:
函数通道_click(){
//anon包装函数,2秒延迟
setTimeout(函数(){
window.print();返回false;
} , 1500 );
}
$(文档).ready(函数(){//添加此
$(“.hideshow”)。单击(函数(e){
e、 预防默认值();
$(“#页眉,#页脚”)。切换(“慢速”);
channel_click();//调用print
setTimeout(函数(){
$(“#页眉,#页脚”)。切换(“慢速”);
} , 3500 );
$('.modal background').hide();
});
});
在这里,它按照您的预期工作
鉴于您的html格式不正确,我看不出有什么问题。也许您可以为我们提供完整的标记?事实上,您的代码看起来不错,只是缺少了
。这有用吗?您可能还需要将脚本包装到$(document).ready(/**/)代码>现代浏览器(因为他使用的是chrome)它不需要type=“text/javascript”
@Sandeep你最好使用它,有一些引擎渲染其他脚本类型,所以浏览器不会因为尝试而失败。是的,我同意你的观点,我总是使用它。但在这种情况下,这不是问题所在。我已经在这里发布并用小提琴回答了。
<a href="#" role="button" class="hideshow">Print Preview</a>
<script type="text/javascript">
function channel_click(){
// anon wrapper function, 2 second delay
setTimeout( function () {
window.print();return false;
} , 1500 );
}
$(document).ready(function() { //add this
$(".hideshow").click(function (e) {
e.preventDefault();
$("#header,#footer").toggle("slow");
channel_click(); //call print
setTimeout( function () {
$("#header,#footer").toggle("slow");
} , 3500 );
$('.modal-backdrop').hide();
});
});