1

我正在尝试在所有文本字段都处于只读模式的表单上执行 .blur() 。

我需要模糊它,因为我使用的是 jQuery 对话框,当我打开它时,它会自动聚焦表单中的第一个只读字段。

所以我打电话给 $("#my_dialog input").blur(); 但没有任何反应,输入仍然具有焦点。

有人知道为什么只读字段会发生这种情况吗?

4

2 回答 2

1

我正在回答我自己的问题,希望对某人有所帮助。

我所做的是创建一个名为 readOnlyBlur 的自定义 jquery 函数/插件。

它的实际作用是:

  • 如果找到,则删除只读属性
  • 模糊输入
  • 恢复只读属性

您可以从这里获取代码:
https ://gist.github.com/atrandafir/5991483

只需将它放在一个 javascript 文件中,然后像普通插件一样在 jquery 之后加载它。

然后不是调用 $("#my_dialog input").blur(); 只需调用 $("#my_dialog input").readOnlyBlur();

所以,就像我说的,希望它对某人有所帮助,因为 Stackoverflow 是 wiki 风格的 :)

于 2013-07-13T17:52:26.177 回答
0

改用就好.trigger('blur')了。

http://jsbin.com/unaduj/1/edit

于 2013-07-13T17:52:04.953 回答