好奇了解这种行为-使用Chrome
$(selector).click(window.print) 给出“非法调用”错误
$(selector).click(function() { window.print(); }) 作品
参见http://jsfiddle.net/e2LLnj1c/
如果window.print是一个函数,为什么不能直接将其用作点击回调?
this回调的变量很可能是DOM节点本身,而window.print依赖于它window本身。
您可以传入window.print.bind(window)以确保this正确设置了变量。
JsFiddle示例:http : //jsfiddle.net/tomprogramming/38yn9kq5/