我有一件事。如果它是模糊的,那么页面不会刷新,但如果是点击事件则页面正在重新加载。是什么原因。
$('#weeklygeneratebtn').on('click',function(){
$('#store_name').on('blur',function(){
var store_id = $("input[name=store_id]").val();
alert($(this).attr("data-indent"));
var category = '';
var flag;
if($(this).data("indent") == "sundry"){
category = '235';
flag = 1;
}
if(flag== 1){
$.ajax({ url: 'lib/function.php',
data: {action: 'getStoreSupplyItems',
id:store_id,
indent:1,
category:category},
success: function(output) {
//alert(output);
$('#response').html(output);
}
});
}
这是我的代码。如果在ajax调用后选择了click功能,页面就会刷新。但是,如果我选择模糊功能,则页面不会重新加载。我的第一个疑问是重新加载的原因是什么,我的第二个问题是如何在点击的情况下不重新加载。
<button id="weeklyindentbtn" style="width:120px" class="button ui-button ui-widget ui-state-default ui-corner-all action-button ui-button-text-only" data-role="button"> Generate</button>
答案 0 :(得分:2)
如果您的按钮是&#34;输入&#34;类型为&#34;提交&#34;然后在Javascript点击处理程序中,您需要传递&#34;事件&#34;函数调用中的参数然后包含preventdefault函数,如下所示:
$("#weeklygeneratebtn").click(function(event) { event.preventDefault(); ... });
这将停止发生正常行为(即回发)。
如果您的按钮是&#34;按钮&#34;元素然后你可以添加&#34;按钮&#34;键入它以防止回发,如下所示:
<button type="button" id="weeklygeneratebutton">Generate</button>
答案 1 :(得分:0)
尝试阻止click事件传播并执行浏览器的默认行为。例如:
$('#weeklygeneratebtn').on('click', function(e){
e.preventDefault();
//do stuff
});