我正在尝试制作jsfiddle,我的onclick在jsfiddle中不起作用。我的代码有什么问题
<input value="press" type="button" onclick="myclick()">
function myclick(){
alert("myclick")
}
http://jsfiddle.net/hiteshbhilai2010/gs6rehnx/11/
我尝试了No wrap - In head
,然后再次尝试了document.ready
,它再次在jsfiddle中不起作用
ERROR - Uncaught ReferenceError: myclick is not defined
http://jsfiddle.net/hiteshbhilai2010/33wLs160/6/
我已经检查了已经存在的问题here,但是当我在jsfiddle中尝试时,我的问题正在发生
有人可以帮我....谢谢
您需要选择没有库(纯JS)和没有包裹头。然后它将作为带有JavaScript页面的简单HTML。
将其插入到<script>
的<head>
元素中:
function myclick(){
alert("myclick")
}
请参见demo
正如其他人所说,对于第一种情况,您必须将No wrap - in <head>
或No wrap - in <body>
设置为javascript面板设置(js面板右上方的蓝色链接)。
对于第二个(您的Edit)问题,您的函数内的代码和js将在新上下文中运行它,但是它什么都不做,因为您只定义一个函数就可以了,而无需任何调用或分配就可以忽略它。
如果您调用alert(myclick),您将看到所有代码已执行并在此时定义了代码。 see this fiddle
$(document).ready(function() {
//alert("ready is executed");
function myclick(){
alert("myclick is called")
window.location.reload(true);
}
alert(myclick); //this will show the myclick is a defined function!
//document.getElementsByTagName("input")[0].onclick = myclick;
})
如果您拨打此电话:
document.getElementsByTagName("input")[0].onclick = myclick;
在该$(document).ready({...})
范围内,它将被分配给该按钮并按您希望的方式工作。
<input value="press" id='a' type="button">
document.getElementById('a').onclick = function() { alert(1); }
这个正在工作。只需将其从文档就绪事件中删除即可。分号在javascript中也是可选的,但我建议使用它们。
function myclick() {
alert("myclick");
window.location.reload(true);
}
<input value="press" type="button" onclick="myclick();">
<script>
alert("home");
</script>
这里是fiddle。