jquery事件,当文本框的readonly值自动更改时调用

时间:2010-08-01 13:12:18

标签: jquery

当文本框的只读值自动更改时,是否有任何jquery事件被调用

我想调用一个事件(jquery),当文本框的readonly值被其他jquery事件改变时,应调用该事件。

早期回复非常感谢。

最诚挚的问候, Sagar的

6 个答案:

答案 0 :(得分:2)

没有这样的事件(不是你想要附加的事件,一般的DOM更改事件处理程序会有可怕的性能)。

如果您稍微扩展了上下文,可能会有另一种解决方案来获取您所追求的内容,例如将其设置为只读?

答案 1 :(得分:1)

您可以向<input>添加更改事件,并测试readonly属性:

$('input').change(function(){
    if($(this).attr('readonly') == true){
        // do something fancy
    } 
});

答案 2 :(得分:0)

change()方法不起作用吗?

$('input:readonly').change(function() {
   alert("Readonly input changed!!");
})

答案 3 :(得分:0)

您可以添加一个将每N秒执行一次的函数(通过setInterval)并检查字段值。但这很难看。

答案 4 :(得分:0)

据我所知,研究表明你必须这样做:http://jsfiddle.net/kmvSV/1/

$(document).ready(function () {
   $('input[id$=_txtTest]').bind("change", function () {
     alert($(this).val());
   });
   $('button').bind("click", function () {
     $('input[id$=_txtTest]').val('hello').trigger('change');
   });
 });

答案 5 :(得分:0)

就像Sagar Dixit在回答中所说,你可以手动触发改变事件。

// trigger the change event as soon as you set new value to the readonly field
$('input').val(newValue).trigger('change')
...
...
// Listen to the change event
$('input').change(function() {
  // Handle the change
})