Domanda

ho un if che ha bisogno di guardare in questo modo: UPDATE

 $("input#textbox").keypress(function(e){
    key==e.which;
    if($("input#textbox").length <=7 && (key===13 || $("div#search-button").click())){
       /////SOME FUNCTION////
    };
 });

Sto cercando di eseguire l'area di "qualche funzione" solo se la lunghezza di ingresso è <= 7 e sia il tasto ENTER è premuto o il pulsante "Cerca" viene cliccato.

Inoltre, voglio combinare questi 2 differenti iniziatori di funzione in modo che essi eseguono la stessa funzione, ma non sanno come fare:

  $("input#textbox").keypress(function(e){
     FUNCTION A
  };

  AND 

  $("div#search-button").click(function(){
     FUNCTION A
  };
È stato utile?

Soluzione

Modifica

Questo è ciò che devi fare:

  1. Io parto dal presupposto che si desidera la lunghezza del testo e non il numero di caselle di testo.
  2. Si desidera eseguire functiona Azionando ENTER sul testo o sul pulsante di ricerca si fa clic:

     $("input#textbox").keypress(function(e){
        key==e.which;
        if (key === 13) // if enter is pressed
        {
           if ("#textbox").val().length >= 7) //if textbox has more than 7 characters
           {
               functionA();
           }
        }
     });
     $("div#search-button").click(function(){ functionA();});

HTH

Altri suggerimenti

Ecco come lo farei:

$("#search-button").click(function(){
    $("#textbox").keypress(function(e,clicked){
        (clicked || e.which===13) && $(this).val().length < 8 && functionA();
    }).trigger("keypress",[true]);
});
function functionA(){
    alert("hey!");
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top