我在自己的项目中使用aspnetmvcturbolinks并且我已经重新加载页面 当用户在输入中添加文本时,Turbolinks.visit(路径)。但是,当页面改变时,我检查这个输入的keyup事件是更多的一个,我添加返回false但不起作用。
$(document).on("ready page:load", function() {
$('input[name=keyword]').keyup(function (e) {
alert();
var $text = $(this).val();
if ($text.length > 1) {
$('html, body').animate({ scrollTop: 0 }, 600, function() {
Turbolinks.visit('@searchUrl' + '?keyword=' + $text);
});
}
if ($text.length == 0) {
Turbolinks.visit('@searchUrl');
}
return false;
});
$(document).on('change', 'select[name="order"]', function() {
Turbolinks.visit('@searchUrl');
});
$(document).on('change', 'select[name="count"]', function() {
Turbolinks.visit('@searchUrl');
});
});
什么是解决方案? 感谢
答案 0 :(得分:0)
答案 1 :(得分:0)
试试这个,
如果(e.stopPropagation)e.stopPropagation();
其他e.cancelBubble = true; //其中e是事件对象
$('input[name=keyword]').keyup(function (e) {
alert();
var $text = $(this).val();
if ($text.length > 1) {
$('html, body').animate({ scrollTop: 0 }, 600, function() {
Turbolinks.visit('@searchUrl' + '?keyword=' + $text);
});
}
if ($text.length == 0) {
Turbolinks.visit('@searchUrl');
}
if(e.stopPropagation)e.stopPropagation();
else e.cancelBubble=true;
});