【问题标题】:.val() doesn't trigger event onchange on external script.val() 不会在外部脚本上触发事件 onchange
【发布时间】:2012-12-28 21:33:58
【问题描述】:

我找到了这个颜色选择器http://pastebin.com/17cPkjAT 我的问题是,如果通过 jquery 将文本设置为输入框,颜色选择器将不会“听到”新文本。

例子:

  1. 我使用鼠标将颜色设置为黑色
  2. 我通过 jquery 将颜色设置为白色

唯一改变的是文本,而不是颜色,结果:

【问题讨论】:

  • 这对我来说似乎是合乎逻辑的。 onchange 事件只能由用户输入触发。解决此问题的一种骇人听闻的方法是使用计时器来检查更新。不是最漂亮,但很有效。 (“更好”的方法是附加到对话框中选择颜色的通知,并在其中启动所有必需的操作。)
  • 我认为这里的规范答案是 onchange() 仅在 user 更改它时自动触发;否则你需要自己调用它。
  • 无论如何,当我调用 .change() 时什么都没有发生...那么我应该在定时器回调上放什么?

标签: jquery events triggers onchange


【解决方案1】:

更新值后调用.change()

$(selector).val("#FFFFFF").change();

【讨论】:

  • 根据文档,您可以调用另一种方法来设置颜色.ColorPickerSetColor()。您需要发布您的代码和/或创建一个 jsfiddle,以便我们帮助您解决遇到的任何特定问题。
  • 对不起,我发错了颜色选择器,我用的没有这个功能! pastebin.com/17cPkjAT
猜你喜欢
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多