Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 阻止jQuerys.change()在页面加载时运行_Javascript_Jquery - Fatal编程技术网

Javascript 阻止jQuerys.change()在页面加载时运行

Javascript 阻止jQuerys.change()在页面加载时运行,javascript,jquery,Javascript,Jquery,我有一个包含多个选择列表的页面,当使用jQuery的.change()函数更改其中一个选择列表时,我会更改选择列表旁边一个范围中的文本。加载页面时,每个跨距中已经有一些文本(每个跨距的文本不同)。问题是,当页面加载.change()函数时,它会在所有的选择列表中循环,从而更改每个范围中的文本。在用户选择列表中的其他项之前,我不希望范围中的文本发生更改。我不能只是检查span中是否有文本,因为如果用户确实更改了所选项目,则无论是否有文本,我只是不想在页面加载时替换文本。那么,如何让.change(

我有一个包含多个选择列表的页面,当使用jQuery的.change()函数更改其中一个选择列表时,我会更改选择列表旁边一个范围中的文本。加载页面时,每个跨距中已经有一些文本(每个跨距的文本不同)。问题是,当页面加载.change()函数时,它会在所有的选择列表中循环,从而更改每个范围中的文本。在用户选择列表中的其他项之前,我不希望范围中的文本发生更改。我不能只是检查span中是否有文本,因为如果用户确实更改了所选项目,则无论是否有文本,我只是不想在页面加载时替换文本。那么,如何让.change()函数在加载页面时停止激发呢?守则:

JS/jQuery

$(document).ready(function() {
  $("select").change(function () {
    var txt = $(this).val();
    $(this).next('span').text(txt);
  }).trigger('change');
});
HTML(重复多次)


狗
猫
鸟
蛇
在用户更改选定项之前不应替换的文本

谢谢你的帮助

您只需删除此呼叫:

.trigger('change')

这是调用刚刚绑定的
$(“select”).change(function(){…})
处理程序的内容。默认行为是等待
change
事件发生…or(无参数)将模拟
change
事件,使该处理程序开始工作。

您只需删除此调用:

.trigger('change')
这是调用刚刚绑定的
$(“select”).change(function(){…})
处理程序的内容。默认行为是等待
change
事件发生…or(无参数)将模拟
change
事件,使该处理程序开始工作。

触发“change”是因为代码告诉它!调用
.trigger(“change”)
时说,“请运行'change'事件处理程序”。所以,把它拿出来

现在,问题是,这样编写代码的原因可能是为了确保
元素的设置真正反映用户手动进行相同更改时的行为。例如,有时在某些表单中,除非将
设置为某个选项,否则应禁用部分输入。通过在页面加载时触发“change”事件,代码可以确保这些规则有效。如果你只是扣动扳机,事情可能会不正常,这就是我要说的。该处理程序看起来非常简单,因此可能问题在于此代码是从其他地方剪切和粘贴的。

触发“更改”是因为您的代码告诉它!调用
.trigger(“change”)
时说,“请运行'change'事件处理程序”。所以,把它拿出来


现在,问题是,这样编写代码的原因可能是为了确保
元素的设置真正反映用户手动进行相同更改时的行为。例如,有时在某些表单中,除非将
设置为某个选项,否则应禁用部分输入。通过在页面加载时触发“change”事件,代码可以确保这些规则有效。如果你只是扣动扳机,事情可能会不正常,这就是我要说的。该处理程序看起来非常简单,所以可能问题在于该代码是从其他地方剪切和粘贴的。

这让我看起来很愚蠢,我在最初无法正常工作时添加了它,但没有删除它。谢谢你的解释!好吧,这让我看起来很愚蠢,我添加了它,当我有问题,使它最初的工作,并没有删除它。谢谢你的解释!