我已经创建了一个JSFiddle来描述该问题。为什么当我拨打doSomething()
功能时不显示警报?为什么不调用javascript onclick函数?
0
A
回答
4
1
5
这是因为doSomething()
功能没有在HTML页面中定义。在jsfiddle中,您的函数(在js窗格中)由jquery的文档onload事件封装。 (请参阅jsfiddle左侧的设置)。所以其执行的这个样子,
$(document).ready(function() {
function doSomething() {
alert('Hello!');
}
});
了解其包裹。它不可访问。要修复它,您应该将其分配给window
对象。 在JS窗格写成
window.doSomething=function() {
alert('Hello!');
}
它会工作
其建议大家不要使用HTML元素的属性onclick
功能。它更好地分配事件处理程序与JS。
$("img").click(function(){
alert("Hello");
});
+0
对于临时投票表示抱歉,SO在我的手机上显得很奇怪。 – 11684
4
这是一个 “小提琴-事”。从“Choose Framework”字段中的第一个选择中选取nowrap (head)
。
3
JsFiddle为您做的是为您创建<HTML>
,<head>
和<body>
标签。您不应该将它们包含在您的HTML中,因为这会在JsFiddle处理完标记后无效。它还将JS包装在文档的onload事件中。因此,您的功能没有像您想象的那样在根范围内定义,但在document.onload
函数的范围内,并且您无法从主体范围内访问它,因为那不在函数内部。我将JsFiddle属性'wrap in'改为'no wrap(head)',它工作正常。
0
以下是您的完整代码。只需复制并粘贴您的编辑器。它是
<!doctype html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<title>Javascript Events</title>
<script type='text/javascript'>
window.onload = function() {
var image_one = document.getElementById('imageOne');
var image_two = document.getElementById('imageTwo');
image_one.onclick = function() {
alert('Hello!');
}
image_two.onclick = function() {
alert('Hello!');
}
}
</script>
</head>
<body>
<img id="imageOne" src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/White_and_yellow_flower.JPG/320px-White_and_yellow_flower.JPG" />
<img id="imageTwo" src="http://upload.wikimedia.org/wikipedia/en/7/70/Example.png" />
</body>
</html>
相关问题
- 1. Javascript:为什么我的函数没有被onclick调用?
- 2. ASP.NET调用JavaScript函数OnClick
- 3. Javascript innerHTML调用onclick函数
- 4. cfselect onClick不调用javascript函数
- 5. 的onclick不断调用javascript函数
- 6. javascript onclick不能调用函数
- 7. onclick操作不调用javascript函数
- 8. JSF CommandButton onclick不会调用Javascript函数
- 9. Javascript,为什么我的onclick函数不能正常工作
- 10. onClick函数调用不起作用 - 我做错了什么?
- 11. 为什么调用函数比不调用函数更快?
- 12. 为什么这不onclick JavaScript调用工作?
- 13. 为什么不调用UtteranceProgressListener的函数?
- 14. 为什么不调用这个函数?
- 15. 为什么不调用析构函数?
- 16. 使用OnClick进行JavaScript函数调用
- 17. 调用JavaScript函数使用的 'onClick'
- 18. JavaScript即时函数调用 - 为什么函数需要括号?
- 19. 为什么边界不改变时调用函数的JavaScript?
- 20. 为什么不是我的javascript函数没有被调用
- 21. 为什么JavaScript函数不能在xslt中调用?
- 22. 为什么不工作? Onclick javascript
- 23. javascript函数作为参数 - 非法调用。为什么?
- 24. 通过JavaScript调用onClick函数
- 25. Javascript函数没有被调用onclick?
- 26. Onclick函数未在JavaScript中调用
- 27. 在onClick中调用javascript函数
- 28. 的JavaScript的onclick调用函数
- 29. Javascript函数未被onclick调用
- 30. 为什么函数调用称为“函数调用”?
学习了JSFiddle的一些... – JVerstry