javascript - jquery:在选择更改时按名称调用函数

标签 javascript jquery function

我正在尝试按名称调用函数 .onchange选择但没有任何反应。当函数在属性之后描述时,它起作用。

这行不通

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()函数在外部 .js包含在 <head> 中的脚本的 HTML。

最佳答案

这是因为处理程序testMessage将其绑定(bind)到更改事件时未定义。

如果它在与下面相同的脚本上下文中,它应该可以工作,

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

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

里面的代码<script></script>从顶部开始逐一执行 testMessage第一个函数不存在 <script></script> .

这里有几个选项,

  1. 将它放在一个匿名函数中,让您的脚本解析 testMessage以后发挥作用。 [如 Optimus Prime 中的建议回答]

    <script type="text/javascript">
      $('#numb').change(function () { 
         testMessage
      });
    </script>
    <script type="text/javascript">
       function testMessage(){
          alert('Hello');
       }
    </script>
    
  2. 包含有testMessage的脚本script 上面的函数像下面这样绑定(bind) testMessage,

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

关于javascript - jquery:在选择更改时按名称调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18239387/

相关文章:

javascript - 返回 json 对象

javascript - depstree.NamespaceNotFoundError : Namespace [name here changes every build] never provided

javascript - 如何在 php echo 中使用标签链接中的图像提示删除确认

javascript - 扰乱单选按钮数据

Python:函数执行后不保存变量的值

javascript - 无法从响应 JSON 中删除 html 标签

jquery - 删除第一列后保留表格高度 'tr'

javascript - iframe 并使用 jquery 仅加载表并删除行或列

php - 在函数参数中使用单管道 '|' 有什么作用?

function - 如何将引用另一列的函数添加到 libreoffice-calc?