<button " name="news_name" onClick="news()">news</button>
如果我使用jquery函数
<script Language="JavaScript">
$(function () {
function news(){
console.log('news is going');
}
})
</script>
显示错误
Uncaught ReferenceError:news is not defined at news(...)
at HTMLBUttonElement,onlick(....)
如果我不使用jquery
<script Language="JavaScript">
function news(){
console.log('news is going');
}
</script>
效果很好!
我不知道为什么不能使用
$(function () {
})
如果它是对的。我不能在我的脚本上使用jquery。我可以解决这个问题吗?
答案 0 :(得分:1)
内联onClick
只能访问全局对象。您还在function
fuction news()
在$(function()
中声明函数时,它在闭包内,在全局(窗口)范围内不可用
通常最好不要使用内联事件处理程序,因为你使用jQuery可以轻松地添加一个事件监听器
function news(){
console.log('news is going');
}
$(function(){
$('button[name="news_name"]').click(news)
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button name="news_name">news</button>
&#13;
答案 1 :(得分:1)
script
标记应该是小写的,attributes
也是<Script>
开头,而</script>
结尾不会关闭标记。
language
属性已被弃用很长时间,不应使用。当W3C正在使用HTML5
时,他们发现所有浏览器都将"text/javascript"
作为默认脚本type
,因此他们将其标准化为默认值。
如果您愿意,可以使用<script></script>
或<script type="text/javascript"></script>
。
然后如@Eddie
的评论中所述,您没有将文字包装在console.log()
使用
function news() {
console.log('news is going');
}
$("#news_name").on('click', news);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button name="news_name" id="news_name">news</button>
答案 2 :(得分:1)
var news=null;
$(function(){
news=function(){
console.log('news is going');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button name="news_name" onClick="news()">news</button>
答案 3 :(得分:0)
请使用输入类型按钮并设置按钮的ID然后 -
$('#btn1').click(function(){
alert('ok');
})