为什么这个简单的代码不起作用?
<div onClick="myFunction()"></div>
$(document).ready(function(){
function myFunction(){
alert("sss");
}
})
JS文件是外部文件,在我的HTML页面的head
中调用。之前添加了jQuery库。
答案 0 :(得分:2)
它不起作用,因为on*
事件属性调用的函数需要在window
的范围内。您的代码将函数放在jQuery document.ready处理程序中。试试这个:
function myFunction() {
alert("sss");
}
&#13;
<div onClick="myFunction()">Click me</div>
&#13;
您应该注意,由于这个原因,使用on*
事件属性被认为是过时的。您应该使用不显眼的JS代码来附加您的事件处理程序,无论是在本机JS中:
document.querySelector('div').addEventListener('click', function() {
alert("sss");
});
&#13;
<div>Click me</div>
&#13;
或jQuery,因为你似乎已经在使用它了:
$(function() {
$('div').on('click', function() {
alert("sss");
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Click me</div>
&#13;
答案 1 :(得分:0)