我有输入字段列表.其中一些是只读字段.我正在使用.keyup()事件来触发输入字段中的某些更改.但它不会影响readonly字段.不知怎的,我也想改变这些领域.有帮助吗?
如果您调用focus只读输入字段,则会触发keyup事件.但是,键入该字段不会更改其值(毕竟,它是只读的).也许您需要的是监听其属性的变化?value
我建议听input,并propertyChange为这个答案建议:
$('input').bind('input propertychange', function() {
// Do something
});
Run Code Online (Sandbox Code Playgroud)
这样,当您的输入值发生变化时(从任何方式),您将收到通知.编辑:如果以编程方式更改值,则不起作用 - 对于这种情况,唯一的跨浏览器可行替代方法涉及轮询(例如此).更好的选择可能是使用诸如knockout.js之类的框架,它可以为您自动执行此操作,同时在视图和模型之间提供清晰的分离.这是一个例子.
更新:我记得在删除的答案中阅读你的评论,说明你是以编程方式设置输入的值,这是正确的吗?(有些用户可以使用10k代表恢复它吗?)在这种情况下,为什么不让更改值的代码直接触发监听器呢?
$(link).click(function() {
$(readonlyInput)
.val("some val") // Update the value
.trigger('keyup'); // Trigger the listener
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6747 次 |
| 最近记录: |