我有以下按钮:
<input type="button" onclick="printDiv('print-content')" value="print a div!"/>
下面的JavaScript代码:
<script>
$(function() {
function printDiv(divName) {
alert('s')
var printContents = document.getElementById(divName).innerHTML
w=window.open()
w.document.write(printContents)
w.print()
w.close()
}
})
</script>
当我单击printDiv时,出现以下错误:
未捕获的引用错误:未定义printDiv付款历史记录:398 onclick
我真的不明白。
2条答案
按热度按时间nxagd54h1#
因为
printDiv
不在全局作用域中。您已经用一个函数 Package 了它。所以,printDiv
作用域在该直接函数中,而不是全局作用域。JavaScript scoping and Hoisting
cotxawn72#
我做了些改动,希望能对你有所帮助。
首先,我用jquery定义了一个click事件的回调函数,然后,显示div内容。
下面是代码片段
第一个
我试着添加一个新的代码片段来告诉你它是如何工作的!这只是一个练习来告诉你变量和函数在javascript中是如何工作的。
请阅读有关函数作用域和变量生命周期的Javascript文档。
运行这个代码段,看看它是如何工作的。问候!!
第一个