我正在尝试按名称调用函数.onchange
选择但没有任何反应。当功能描述在属性之后时,它就起作用了。
这不起作用
HTML:
<select id="numb">
<option value="1">1</option>
<option value="2">2</option>
</select>
SCRIPT:
<script type="text/javascript">
$('#numb').change(testMessage);
</script>
<script type="text/javascript">
function testMessage(){
alert('Hello');
}
</script>
这有效
HTML:
<select id="numb">
<option value="1">1</option>
<option value="2">2</option>
</select>
SCRIPT:
<script type="text/javascript">
$('#numb').change(function(){
alert('Hello')
});
</script>
EDIT:
好吧,对于那些说我要在同一个脚本中包含该函数的人。这是不可能的,因为testMessage()
函数位于外部.js
脚本包含在<head>
HTML 的。
这是因为处理者testMessage
将其绑定到更改事件时未定义。
如果它位于相同的脚本上下文中,如下所示,它应该可以工作,
<script type="text/javascript">
$('#numb').change(testMessage);
function testMessage(){
alert('Hello');
}
</script>
里面的代码<script></script>
从上往下逐一执行,testMessage
第一个函数中不存在<script></script>
.
你在这里有几个选择,
-
将其放入匿名函数中,这将使您的脚本能够解析testMessage
稍后再运行。 [正如建议的擎天柱 https://stackoverflow.com/a/18239438/297641 answer]
<script type="text/javascript">
$('#numb').change(function () {
testMessage
});
</script>
<script type="text/javascript">
function testMessage(){
alert('Hello');
}
</script>
-
包括具有以下内容的脚本testMessage
上面的函数script
绑定 testMessage 如下所示,
<script type="text/javascript">
function testMessage(){
alert('Hello');
}
</script>
<script type="text/javascript">
$('#numb').change(testMessage);
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)