gpt4 book ai didi

javascript - 无法停止页面重新加载

转载 作者:行者123 更新时间:2023-11-30 09:40:43 24 4
gpt4 key购买 nike

使用 events.peventDefault()events.stopPropagation(),无法阻止页面重新加载。

bindSearch: function() {

var val = null;
var input = null;
config.bindThis('chatSearchFriends', 'body', 'searchBar', function(value, events) {

input = $(value);
val = $(input).val();
timer = setTimeout(doSearch, 1000);
config.showThis('clearSearch');

var keycode = (events.keyCode ? events.keyCode : events.which);

if (keycode == '13' && !events.shiftKey) {
//prevent page reload
events.stopPropagation();
events.preventDefault();

console.debug('enter');
}

});

config.bindThis('chatClearSearch', 'body', 'clearSearch', function(value, events) {

//clear search text
});

function doSearch() {

//fetch matched search
}

},

在上面的代码中,我在 keyup 事件 (chatSearchFriends) 上绑定(bind)了 searchbox

当用户输入时,如果他们按下回车键,页面不应重新加载,这是我的担心。

无论用户是否按下回车,ajax 都会在 1 秒后获取匹配的数据。这是通过以下行完成的:timer = setTimeout(doSearch, 1000);

所以按 enter 应该只会停止页面重新加载。我不确定为什么上面没有阻止它。

绑定(bind)这个:

bindThis: function(eventKey, bindTo, selectorKey, callback, bindOnceOnly = false) {

this.unBindThis(bindTo, eventKey);
if (bindOnceOnly) {

this.getSelectorDOM(bindTo).one(this.events[eventKey], this.selectors[selectorKey], function(e) {

callback(this, e);
});

return;
}

this.getSelectorDOM(bindTo).on(this.events[eventKey], this.selectors[selectorKey], function(e) {

callback(this, e);
});

},

最佳答案

In the code above, I bind searchbox on keyup event (chatSearchFriends).

您无法停止按下按键时按键的传播。该事件已经发生。它必须在 keydown 或 keypress 上。

关于javascript - 无法停止页面重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41254501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com