2010-08-01 5 views
1

Yat-il un événement jquery qui est appelée lorsque la valeur en lecture seule de la zone de texte est automatiquementévénement jquery qui est appelée lorsque la valeur en lecture seule de la zone de texte est automatiquement

Je veux appeler un événement (jquery) qui devrait être appelée quand la valeur readonly de la zone de texte est modifiée d'une certaine façon par d'autres événements jquery.

La réponse rapide est très appréciée.

Cordialement, Sagar

Répondre

2

Il n'y a aucun événement pour ce (pas celui que vous voulez joindre, un gestionnaire d'événements général de changement DOM aurait horribles performances).

Si vous développez un peu le contexte, il y a peut-être une autre solution pour obtenir ce que vous cherchez, par exemple ce qui est en mode lecture seule?

0

la méthode change() ne fonctionnerait-elle pas?

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

La méthode 'change' n'est pas du tout liée à d'autres attributs ... –

0

Vous pouvez ajouter une fonction qui sera exécutée toutes les N secondes (via setInterval) et vérifier la valeur du champ. C'est très moche, cependant.

1

Vous pouvez ajouter un événement de changement à votre <input> et test pour l'attribut lecture seule:

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

Cela ne répond pas à la question ... cela vérifie un attribut quand un événement' change' de quelque chose d'autre * se produit. Puisque c'est «en lecture seule», cet événement ne se déclenchera pas, puisque la personne ne se concentrera pas/ne fera pas de blush sur l'élément. En outre, cela vérifie la * présence * pas le * changement * de l'attribut 'readonly'. –

+0

J'ai réalisé que quelques minutes après avoir posté - apparemment le café n'a pas encore commencé ... – Pat

0

Bien que ma connaissance et de la recherche dit que vous avez à faire de cette façon: 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'); 
    }); 
}); 
Questions connexes