你能看看这段代码,告诉我为什么#reload
点击事件是重新加载整个页面,而不是刷新#cap-img
源代码吗?
<div class="form-group">
<div class="input-group">
<span class="input-group-addon" id="input-group-addon-captcha"><img id="cap-img" src="captcha.php"></span>
<input id="seo-captcha" name="" class="form-control" placeholder="Please Enter Text" type="text">
<span class="input-group-addon seo-addon-right"><button class="btn btn-xs btn-q" id="reload"><span class="glyphicon glyphicon-refresh" aria-hidden="true"></span>
</button></span>
</div>
</div>
<script>
$(function() {
$('#reload').click(function(){
$('#cap-img').attr('src', 'captcha.php?' + (new Date).getTime());
});
});
</script>
我假设该按钮是表单的一部分,默认情况下,表单会将其捕获为提交处理程序。试试这个:
$('#reload').click(function(e){
e.preventDefault();
$('#cap-img').attr('src', 'captcha.php?' + (new Date).getTime());
});
此处的示例Plunker:http://plnkr.co/edit/y62jdX6sGsU8IQFJPmDz?p=preview