Jquery: как вызвать событие щелчка при нажатии клавиши enter
мне нужно выполнить событие нажатия кнопки при нажатии клавиши Enter.
Как это на данный момент событие не стреляют.
пожалуйста, помогите мне с синтаксисом, если это возможно.
$(document).on("click", "input[name='butAssignProd']", function () {
//all the action
});
Это моя попытка запустить событие щелчка на enter.
$("#txtSearchProdAssign").keydown(function (e) {
if (e.keyCode == 13) {
$('input[name = butAssignProd]').click();
}
});
9 ответов
попробуйте это....
$('#txtSearchProdAssign').keypress(function (e) {
var key = e.which;
if(key == 13) // the enter key code
{
$('input[name = butAssignProd]').click();
return false;
}
});
$(function() {
$('input[name="butAssignProd"]').click(function() {
alert('Hello...!');
});
//press enter on text area..
$('#txtSearchProdAssign').keypress(function(e) {
var key = e.which;
if (key == 13) // the enter key code
{
$('input[name = butAssignProd]').click();
return false;
}
});
});
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<textarea id="txtSearchProdAssign"></textarea>
<input type="text" name="butAssignProd" placeholder="click here">
</body>
</html>
Попробуй Такое
$('#twitterSearch').keydown(function(event){
var keyCode = (event.keyCode ? event.keyCode : event.which);
if (keyCode == 13) {
$('#startSearch').trigger('click');
}
});
надеюсь, это тебе поможет
$('#txtSearchProdAssign').keypress(function (e) {
if (e.which == 13) {
$('input[name = butAssignProd]').click();
return false;
}
});
Я тоже только что нашел Отправка формы на "Enter" который охватывает большинство вопросов всесторонне.
Вы были почти там. Вот что вы можете попробовать.
$(function(){
$("#txtSearchProdAssign").keyup(function (e) {
if (e.which == 13) {
$('input[name="butAssignProd"]').trigger('click');
}
});
});
я использовал trigger()
для выполнения нажмите и свяжите его на keyup
событие insted keydown
, потому что click
событие состоит из двух событий на самом деле, т. е. mousedown
затем mouseup
. Так, чтобы походить на вещи же, как это возможно с keydown
и keyup
.
здесь демо
вы пытаетесь имитировать щелчок по кнопке при нажатии клавиши enter? Если это так, вам может потребоваться использовать trigger
синтаксис.
попробуйте изменить
$('input[name = butAssignProd]').click();
to
$('input[name = butAssignProd]').trigger("click");
Если это не проблема, попробуйте еще раз взглянуть на свой синтаксис захвата ключей, посмотрев на решения в этом сообщении:jQuery Event Keypress: какая клавиша была нажата?
еще одно дополнение сделать:
если вы динамически добавляете ввод, например, используя append()
, вы должны использовать jQuery с
просто включите функцию preventDefault () в код,
$("#txtSearchProdAssign").keydown(function (e) {
if (e.keyCode == 13) {
e.preventDefault();
$('input[name = butAssignProd]').click();
}
});
Попробуй Такое
<button class="click_on_enterkey" type="button" onclick="return false;">
<script>
$('.click_on_enterkey').on('keyup',function(event){
if(event.keyCode == 13){
$(this).click();
}
});
<script>
теперь это поведение по умолчанию, поэтому достаточно сделать:
$("#press-enter").on("click", function(){alert("You `clicked' or 'Entered' me!")})
вы можете попробуйте в этом JSFiddle
протестировано на: Chrome 56.0 и Firefox (Dev Edition) 54.0a2, оба с jQuery 2.2.x и 3.x