2013-11-25 3 views
0

У меня есть функция, которая при нажатии кнопки запускает функцию jquery. Я также хочу добавить еще одно действие - клавишу «Ввод». Вот мой кодКак создать два действия в одной функции (нажать и нажать)

<input type=text id=search> <button id=searchbtn>Search</button> 

и мой jquery только для кнопки. как я могу добавить ключ ввода? на входной текст?

$(' #searchbtn ').click(function(){ 
some action 
} 

onkeypress? как? нажмите и нажмите одну из функций?

EDIT: Я попытался следующие, но не похоже на работу:

$(document).ready(function(){ 
    ///search this table 
    $(' #search ').click(function(){ 
    Search(); 
    }); 

    $('#emp_search ').keypress(function(e){ 
    if(e.which == 13) { 
     Search(); 
    } 
    } 

    function Search(){ alert('test'); 
} 

ответ

1

Вместо того, чтобы требовать «одна функция», вместо того, чтобы вызвать такую ​​же функцию с двумя обработчиками:

$(' #searchbtn ').click(function(){ 
    someAction(); 
} 

$(' #searchbtn ').keypress(function(){ 
    someAction(); 
} 

Edit: по крайней мере, две вещи неправильно с сниппета

  • изменения Function к function
  • определить функцию Search перед тем ваши обработчики
+0

это, похоже, не работает .. это. \t \t \t $ (документ) .ready (функция() { \t \t \t \t \t \t \t /// поиск в этой таблице \t \t \t \t $ ('#search') .click (функция() { \t \t \t \t \t Поиск(); \t \t \t \t}); \t \t \t \t \t \t \t \t $ ('#emp_search') .keypress (функция (е) { \t \t \t \t \t если (е.которая == 13) { \t \t \t \t \t // поиск \t \t \t \t \t Search(); \t \t \t \t \t} \t \t \t \t} \t \t \t \t \t \t \t \t Функция поиска() { \t \t \t \t предупреждение ('тест'); – Vincent

+1

@ Vincent, вы должны отредактировать свой вопрос с помощью этого кода и обратиться к нему, его слишком сложно прочитать в строке. –

+0

@ Vincent Ваша функция 'Поиск' должна быть определена ПЕРЕД обработкой. Кроме того, это соглашение использовать camelcase для имен функций, например. 'search' или' searchTheTable'. –

1

Используйте для вашего текстового поля, а не на кнопку,

$(#searchtext).keypress(function(e) { 
    if(e.which == 13) { 
     //search 
     Search(); 
    } 
}); 

$(' #searchbtn ').click(function(){ 
    Search(); 
} 
Function Search() 
{ 
//do anything you want 
} 
0

Создать функцию для общего кода. Вы можете передать эту функцию непосредственно обработчику click() (нет необходимости обертывать его еще одной функцией), а для обработчика события keypress - обернуть его в функцию, которая будет проверять код ключа и условно вызывать общую функцию ,

function sharedFunction() { 
    /* Some common action */ 
} 

// Your current handler 
$('#searchbtn').click(sharedFunction); 

// The new handler to catch the 'enter' key. 
$('#searchtext').keypress(function(event) { 
    if(event.keyCode == 13){ 
     sharedFunction(); 
    } 
}); 
0

Вы можете использовать .on для привязки функции к нескольким событиям.

$(' #searchbtn ').on('click keypress', function() { 
// some action 
}); 
+0

где находится тег для текстового поля? #поиск – Vincent

Смежные вопросы