jQuery内部函数调用不起作用



如何调用搜索功能?大量的代码在搜索功能外部编写的代码,所以我想执行所有代码,我该怎么做,请帮助我。

jQuery:

$(function(){
        function search(){
            alert("Hello World");
    }
})

html代码:

<select onchange="search();">
    <option value="1">Hello</option>
</select>

您从 onxyz -attribute风格的事件处理程序调用的任何功能都必须是全局函数。这是不使用它们的众多原因之一。您的search不是全局,它很好地包含在您的ready处理程序中。好的,全球是坏事™。

在您的ready回调中连接功能。select元素的任何选择器都可以;这是使用ID的示例,但不必是ID:

<select id="the-select">
    <option value="1">Hello</option>
</select>

$(function(){
    $("#the-select").on("change", search);
    function search(){
            alert("Hello World");
    }
})

如果您不从任何其他代码调用search,则可以组合:

$(function(){
    $("#the-select").on("change", function search(){
    // Name here is optional --------------^--- but handy for debugging
    // if an error is thrown in the function
        alert("Hello World");
    });
})

最新更新