参见英文答案 >
Is “clear” a reserved word in Javascript?4个
<!DOCTYPE html> <html lang="en"> <head> <Meta charset="UTF-8"> <script src="https://code.jquery.com/jquery-2.2.3.min.js"></script> </head> <body> <button type="button" onclick="submit();">launch</button> <button type="button" onclick="clear();">clear</button> <div> Result:<br> <div id="result"> </div> </div> <script> function clear() { $('#result').empty() } function submit() { $('#result').append('<div>xxxxx</div>') } </script> </body> </html>
启动按钮运行良好,但清除没有.我在控制台中运行$(‘#result’).empty(),它按预期清除div.
解决方法
在内联处理程序中调用clear()实际上是在调用另一个名为document.clear()的东西,因此永远不会调用你的函数.
这是因为在内联处理程序中,文档在窗口之前的范围内,而clear函数位于全局范围内,这是浏览器的窗口.
<button type="button" onclick="myClear();">clear</button> function myClear() { $('#result').empty() }
或者,我宁愿避免使用内联处理程序,也避免污染全局范围.
$(function(){ function clear() { $('#result').empty(); } $('.clear').click(function(){ clear(); }); });