Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery触发器更改事件不发生';行不通_Javascript_Jquery_Events_Web_Triggers - Fatal编程技术网

Javascript jQuery触发器更改事件不发生';行不通

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

我的JavaScript代码有问题,我想在加载页面时触发一个更改事件,它过去在本地工作,但现在它在线,什么也没发生

这是我的密码: (有一些php代码,运行良好)

$(“#城市”).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();

 });