【发布时间】:2013-03-27 12:34:47
【问题描述】:
我有一个文本输入,使用 .keyup 在 ajax 负载上激活 .livequery。问题是,用户必须在框外单击才能激活 keyup 功能。打字时是否可以模拟按键功能?
这是我所拥有的:
$('.input-mini').keyup().livequery('change', function () {
url = $(this.form).attr('action');
data = $(this.form).serialize();
$.post(url, data, function () {
$('#checkout').load('/store/checkout_table');
$('#checkout_form').attr('action', url);
$.cookie('all_cookie', null);
});
return false;
});
【问题讨论】:
-
我不明白。为什么您使用 liveQuery 而不仅仅是委托事件处理程序,以及为什么您在不返回任何内容时执行发布请求,然后在成功回调中使用 load() 进行另一个请求。这只是没有多大意义,你甚至可以只做
livequery('keyup', function() { ... });,我只是不明白为什么??? -
我正在尝试加载购物车更改。当用户更改输入时,我需要重新计算运费。因此,假设他们使用它发送的 30 件商品进入购物车,并通过 api 进行 ajax 请求以获取实时运费并显示响应。如果他们在 keyup 上将其更改为 20, ,我将在不刷新页面的情况下使用不同的响应重新计算他们的运费。至少我正在尝试。效果很好,谢谢!