Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果用户在输入上按Enter键,则取消淘汰率限制扩展程序_Javascript_Jquery_Ajax_Knockout.js - Fatal编程技术网

Javascript 如果用户在输入上按Enter键,则取消淘汰率限制扩展程序

Javascript 如果用户在输入上按Enter键,则取消淘汰率限制扩展程序,javascript,jquery,ajax,knockout.js,Javascript,Jquery,Ajax,Knockout.js,我向服务器发送一个AJAX请求,其中包括我希望从服务器获得的页码 我使用输入框从用户处获取此页码 我使用以下代码: (函数($){ $(函数(){ //此屏幕的整体视图模型以及初始状态 功能CartableViewModel(totalItems){ var self=这个; //可编辑数据 self.data=ko.observable(); self.pageIndex=ko.可观察(1).扩展({ 差饷限额:{ 方法:“notifyWhenChangesStop”, 超时:1500 } }

我向服务器发送一个AJAX请求,其中包括我希望从服务器获得的页码

我使用输入框从用户处获取此页码

我使用以下代码:

(函数($){
$(函数(){
//此屏幕的整体视图模型以及初始状态
功能CartableViewModel(totalItems){
var self=这个;
//可编辑数据
self.data=ko.observable();
self.pageIndex=ko.可观察(1).扩展({
差饷限额:{
方法:“notifyWhenChangesStop”,
超时:1500
}
});
ko.computed(函数(){
Mostafa.myApp.Order.Cartable(“CreatorID=23&(CreatorID=23 | CreatorID>23)”,self.pageSize(),函数(数据){
自我数据(数据);
});
});
});
}
Mostafa.myApp.Order.CartableViewModel=新的CartableViewModel();
应用绑定(Mostafa.myApp.Order.CartableViewModel);
});
$(“表单页面选择”)。在(“提交”,函数()上{
返回false;
});
})(jQuery);
我的HTML是:


实际上,我用另一个java脚本方法发送这个AJAX请求,它的名称是“Mostafa.myApp.Order.Cartable()”,并且工作正常

我的问题是:不仅在超时之后,而且如果用户在这个输入字段上按enter键,我如何发送这个Ajax调用


非常感谢,

您可以使用来自knockoutjs的subscribe来获得所需的功能

同样的小演示

函数模型(){
var self=这个;
self.pageIndex=ko.observable(5).extend({rateLimit:1500});
self.pageIndex.subscribe(函数(newValue){
警报(新值);
//在这里调用您的ajax调用
//每次更改页面索引时都会调用Subscribe
});
};
var mod=新模型();
ko.应用绑定(mod)


如果您也希望在enter按钮上发送ajax,则删除jquery的提交侦听器并使用提交淘汰绑定。谢谢你的回答,但我想保留我的raetlimit扩展器,这意味着如果用户在1500毫秒内未按Enter键,则此属性将发生更改。更新的答案将使用rateLimit。扩展({rate limit:1500});