jquery:在选择更改时按名称调用函数
我试图通过名称调用函数。 .onchange
选择但没有任何反应。 当在属性之后描述函数时,它可以工作。
这不起作用
HTML:
1 2
脚本:
$('#numb').change(testMessage); function testMessage(){ alert('Hello'); }
这个工作
HTML:
1 2
脚本:
$('#numb').change(function(){ alert('Hello') });
编辑:
好吧,对于那些说我要在同一个脚本中包含该function的人。 这是不可能的,因为testMessage()
函数位于HTML的中包含的外部
.js
脚本中。
这是因为在将其绑定到change事件时未定义处理程序testMessage
。
它应该工作,如果它在如下所示的相同脚本上下文中,
中的代码从top开始逐行执行,而第一个
中不存在
testMessage
函数。
你有几个选择,
-
把它放在一个匿名函数中,让你的脚本稍后解析
testMessage
函数。 [根据擎天柱的回答] -
在下面绑定testMessage的
script
上面包含testMessage
函数的script
,如下所示,
相反,试试,
工作Jsfiddle试试这个:
试试这个并放在相同的脚本标签中:
您必须在更改function上定义回调。
这应该可以解决你的问题。
我不认为你的参考存在于函数中这里有两种方法可以做到。 我把命名空间版本作为建议,因为它可能有助于清理代码。
HTML:
脚本:
// Namespaced并使用Proxy
//刚刚宣布
如果您的方法在另一个文件中,请确保在具有事件绑定的文件之前包含该文件。 你收到任何控制台错误吗?