javascript - 通过javascript将变量发送到函数

标签 javascript

我试图在单击图像时将一个变量发送到一个函数,但无法使其中任何一个起作用。不确定我哪里出错了。?

jsfiddle http://jsfiddle.net/cibravo/rNGMR/

HTML

<input type="submit" value="send" onclick="alert('works')" />
<br/><br/>

<img onclick="alert('works')" src="http://firmakurser.studieskolen.dk/images/web/Facebook-logo-small.png" />

<br/><br/>
<!-- this doesn't work -->
<input type="button" value="send" onclick="myFunction()" />
<br/><br/>
<!-- this doesn't work -->
<img onclick="showhide('works')" src="http://firmakurser.studieskolen.dk/images/web/Facebook-logo-small.png" />

JS

function myFunction(){
    alert("works");
}

function showhide(field){
    alert(field);
}

最佳答案

你说的两个例子都行不通,提供它们调用的函数是全局函数,不包含在任何作用域函数中。

它在您的 fiddle 中不起作用的原因是 jsFiddle 的(令人惊讶的)默认设置是将您的 JavaScript 代码包装在 window load 事件处理程序中,如下所示:

window.onload = function() {
    // your code here
};

...因此您的函数不是全局函数。 (我说这很令人惊讶,因为等到 window load 事件运行时,这在页面加载过程中已经很晚了,不是最佳实践。)

这是一个更新的 fiddle :http://jsfiddle.net/rNGMR/4/正如 Juhana 指出的那样,您将左上角的第二个下拉框更改为“无换行”选项之一(我选择了“无换行 - 正文”)。

为清楚起见,这是一个完整的一体化示例:Live Copy | Live Source

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Global Functions</title>
</head>
<body>
<input type="submit" value="send" onclick="alert('works')" />
<br/><br/>

<img onclick="alert('works')" src="http://firmakurser.studieskolen.dk/images/web/Facebook-logo-small.png" />

<br/><br/>
<!-- this doesn't work -->
<input type="button" value="send" onclick="myFunction()" />
<br/><br/>
<!-- this doesn't work -->
<img onclick="showhide('works')" src="http://firmakurser.studieskolen.dk/images/web/Facebook-logo-small.png" />
<script>
// Note that these are globals
function myFunction(){
    alert("works");
}

function showhide(field){
    alert(field);
}
</script>
</body>
</html>

关于javascript - 通过javascript将变量发送到函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18053122/

相关文章:

javascript - 绝对定位的嵌套 div 会导致溢出问题

javascript - 使用 linq.js,我需要按 2 个字段进行分组并生成摘要

javascript - 使用 JSON 从对象数组创建属性数组

javascript - HTML 表使用 jQuery 查找所有选中的行

javascript - 如何从json中获取仅数字键值对

javascript - 脚本加载顺序

javascript - 为什么这个简单的 CORS GET 会失败?

javascript - 在 JavaScript 函数中调用 Java

javascript - 如果我直接嵌入数据,为什么 MozAudioAvailable 的 Framebuffer 会抛出?

javascript - 如何从Cs页面打印值列表到表示层(Aspx)