【问题标题】:Javascript Event Listener on Text Field文本字段上的 Javascript 事件侦听器
【发布时间】:2011-09-28 21:28:41
【问题描述】:

我在表单上有一个文本输入,我需要随时检查值是否已更改。本质上,文本输入是一个日期字段,我使用 3rd 方脚本来弹出一个日历,您可以在其中选择一个日期,然后将其设置为文本字段值。

所以这是我的问题。假设加载表单时,如果有人单击该字段并使用键盘将其更改为 1/2/11 或其他任何我的事件侦听器启动并执行功能我的文本字段的值已经为 1/1/11想。我的问题是,如果有人单击日历图标并选择一个日期,尽管它会更改输入字段的值,但它不会启动事件处理程序。

我已经尝试直接在输入框上使用 onchange 事件处理程序和输入框的事件侦听器,它似乎都只在字段上的焦点发生更改时才获取更改。这是现在的事件侦听器脚本..

document.getElementById('anchor1x').addEventListener('change', function() {
   alert("date changed");
}, false);

我还能做些什么来检查字段值是否由用户通过直接键入或通过日历选择来更改?

【问题讨论】:

  • 哪个第三方脚本在弹出日期选择器?
  • 日历小部件可能让您传入一个回调以在选择日期时执行。
  • 这是我正在使用的日历弹出窗口:mattkruse.com/javascript/calendarpopup 我可以看到它采取的唯一操作是 onmouseup 操作,它会在选择日期后关闭日历弹出窗口。我的第一个想法是在相同的操作中添加我的脚本,但我无法让它工作。

标签: javascript events listener


【解决方案1】:

也许也给图标添加一个事件监听器?这样,当它被选中时,它也会触发。

【讨论】:

  • 该图标与将日历加载到 div 中的 onclick 事件一起使用。我无法在同一个 onclick 中运行我的活动,因为它需要等待选择日历日而它没有。我尝试使用 onblur,但显然当您单击图像时,图像没有焦点,就在您浏览时。
  • @Larry 为什么不尝试使用 jQuery。我不确定 JS 是否具有等效功能,但 jQuery 中的 .live() 函数可能在这里有用:api.jquery.com/live 它本质上更进一步,允许稍后引入的元素触发该函数。跨度>
猜你喜欢
  • 2014-08-03
  • 1970-01-01
  • 1970-01-01
  • 2013-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多