Вопрос

У меня есть заявление, которое нужно выглядеть так: обновить

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

Я пытаюсь выполнить область «некоторую функцию» только в том случае, если длина ввода составляет <= 7, и нажата кнопка ENTER, либо кнопка «Поиск» нажата.

Кроме того, я хочу объединить эти 2 различных функциональных инициатора, чтобы они выполняли одну и ту же функцию, но не знают, как это сделать:

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

  AND 

  $("div#search-button").click(function(){
     FUNCTION A
  };
Это было полезно?

Решение

РЕДАКТИРОВАТЬ:

Это то, что вы должны сделать:

  1. Я предполагаю, что вы хотите длину текста и не количество текстовых ящиков.
  2. Вы хотите выполнить функцию, когда нажата в TextBox или кнопка поиска, нажата:

     $("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();});

Емкость

Другие советы

Вот как я это сделал:

$("#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!");
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top