Можно создать дубликат:
Bind multiple events to jQuery 'live' methodобработчик событий на несколько событий
У меня есть следующие функции:
$("td.delivered").click(function() {
$(this).html($("<input/>", {
id: 'inp',
style: 'width:80px;',
placeholder: "YYYY-MM-DD",
change: function() {
selectdone(this, title_id, status_type);
},
blur: function() {
selectdone(this, title_id, status_type);
},
onkeypress=="Return": function() { // pseudo-code
selectdone(this, title_id, status_type);
}
})
);
}
следующие работы, что было бы лучше, чтобы Напиши это?
change: function() {
selectdone(this, title_id, status_type);
},
blur: function() {
selectdone(this, title_id, status_type);
},
onkeypress: function(e) {
if (e.keyCode == 13) {
selectdone(this, title_id, status_type);
}
}
Как бы я пишу это более сжато, делая selectdone
функции огня по change
, blur
и return
?
Почему вам нужно размытие и изменение? blur покрывает значение, которое изменяется или нет. – Ian
@ianpgall Blur будет учитывать, если пользователь нажимает на другой элемент, и в этом случае я хочу, чтобы функция срабатывала. Например, если вы нажмете свое пользовательское меню в StackOverflow, а затем снова щелкните в другом месте на странице, пользовательское меню исчезнет. – David542
О, я понимаю это, но это означает, что вам также не нужно связывать «изменение». все «изменение» есть, когда элемент не сфокусирован и значение изменилось. «Размытие» - это просто, когда элемент не сфокусирован. – Ian