javascript – jquery:按名称调用函数,选择更改

前端之家收集整理的这篇文章主要介绍了javascript – jquery:按名称调用函数,选择更改前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图通过一个select来命名一个函数,但没有任何反应.当函数属性之后被描述时,它起作用.

这不工作

HTML

<select id="numb">
  <option value="1">1</option>
  <option value="2">2</option>
</select>

脚本:

<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 type="text/javascript">
    $('#numb').change(function(){
      alert('Hello')
    });
</script>

编辑:

好的,对于所有说我将功能包含在同一个脚本的人.这是不可能的,因为testMessage()函数在< head>中包含的外部.js脚本中.的HTML.

解决方法

这是因为在将其绑定到change事件时,没有定义处理程序testMessage.

它应该工作,如果它在同一个脚本上下文,如下所示,

<script type="text/javascript">
    $('#numb').change(testMessage);

    function testMessage(){
        alert('Hello');
    }
</script>

< script>< / script>内的代码从顶部逐个执行,并且testMessage函数在第一个< script>< / script&gt ;.之内不存在. 你有几个选择在这里,
>把它放在一个匿名的函数中,让你的脚本稍后解析testMessage函数. [如Optimus Prime年的答案]

<script type="text/javascript">
  $('#numb').change(function () { 
     testMessage
  });
</script>
<script type="text/javascript">
   function testMessage(){
      alert('Hello');
   }
</script>

>将包含testMessage函数的脚本包含在绑定testMessage的脚本之上,

<script type="text/javascript">
function testMessage(){
    alert('Hello');
}
</script>
<script type="text/javascript">
  $('#numb').change(testMessage);
</script>
原文链接:https://www.f2er.com/jquery/151194.html

猜你在找的jQuery相关文章