動作がおかしい単純な検索機能があります。検索ボックスは、検索時に送信したくないフォーム内にあるため、以下の設定をしています。
$(function() {
jQuery.fn.onEnter = function(callback) {
this.keyup(function(e) {
if(e.keyCode == 13) {
e.preventDefault();
//e.stopPropagation();
if (typeof callback == 'function')
callback.apply(this);
}
});
return this;
}
$('#txtSearch').onEnter(function() {
search();
return false;
});
$('#search_btn').click(function() {
search();
return false;
});
function search() {
alert('searching');
}
});
e.preventDefault() 行が機能していないため、検索機能が起動し、フォームが送信されます。私は両方e.preventDefault()
で試しましたe.stopPropagation()
が、うまくいきませんでした。