Javascript jQuery触发器更改事件不发生';行不通
我的JavaScript代码有问题,我想在加载页面时触发一个更改事件,它过去在本地工作,但现在它在线,什么也没发生 这是我的密码: (有一些php代码,运行良好)Javascript jQuery触发器更改事件不发生';行不通,javascript,jquery,events,web,triggers,Javascript,Jquery,Events,Web,Triggers,我的JavaScript代码有问题,我想在加载页面时触发一个更改事件,它过去在本地工作,但现在它在线,什么也没发生 这是我的密码: (有一些php代码,运行良好) $(“#城市”).change(函数(){ console.log(“城市改变了…”); var city=$(“#城市选项:选中”).val(); 美元( “ajax.php”, { 页面:“场馆”, 城市:城市 }, 功能(数据){ $(“#场地”).empty(); $(“#地点”)。附加('--'); 对于(var i=0;i
$(“#城市”).change(函数(){
console.log(“城市改变了…”);
var city=$(“#城市选项:选中”).val();
美元(
“ajax.php”,
{
页面:“场馆”,
城市:城市
},
功能(数据){
$(“#场地”).empty();
$(“#地点”)。附加('--');
对于(var i=0;i
我希望有人能看到我在哪里犯了一个(或几个)错误。谢谢 您可以通过在全局名称空间中定义要用作事件处理程序的函数(如果担心向全局对象添加属性,则在包装函数中定义),避免使用
$()。trigger
通过命名定义的函数来添加事件处理程序,当需要触发事件处理程序时,只需调用该函数
我给你举个例子:
function countryChange () {
...
}
$('#country').on('change', countryChange);
function init() {
...
countryChange();
}
$(document).ready(function () {
init();
}
您必须将更改事件放在$(document).ready()的回调函数中,在触发它们之前的任何位置
我强烈建议不要将选择器绑定到就绪事件之外。我的问题在放置$(选择器).trigger(“更改”);在$(document).ready()函数中。我的整个文档都是由JS创建的。您的所有事件处理程序都在DOM就绪处理程序之外,如果这包含在head部分,则可能是一个问题。我的所有JS都在body标记的末尾,我可以尝试将所有内容都放在$(文档)中。ReadyTheOP已经有一个事件l
$( ".target" ).change(function() {
alert( "Handler for .change() called." );
});
function countryChange () {
...
}
$('#country').on('change', countryChange);
function init() {
...
countryChange();
}
$(document).ready(function () {
init();
}
$(document).ready(function(){
$(selector).change(function(){
...
});
$(selector).trigger("change"); //or $(selector).change();
});