ps:最近项目遇到这个问题 ,但毕竟本人不是专业前端 ,度娘搜索验证,成功后记录一下
问题:
$(‘a’).trigger(‘click’) 一直未成功。。触发不了。
原因:
$(‘a’).trigger(‘click’)并不能触发a标签中内容的点击事件,只是相当于触发了a本身的onclick,而不是像用户点击一样的事件。如果想要触发click事件,得把trigger绑定到a标签的子元素sapn上面,如:
<a><span>链接</span><a>
解决:
// 触发事件如下
$('a span').trigger('click');
这样就能够触发click事件了
最后附上全部代码:(点击a标签替换href 并请求)
HTML:
<a href="#" type="button" id="test"><span>检测</span></a>
JQuery:
$("#test").click(function(){
if($(this).attr('href') != '#'){
return;
}
$.ajax({
url: "/home/startAuth", //
type: "POST",
data: {}, // form数据
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
},
success: function (data) {
$("#test").attr('href',data);
$("#test span").trigger('click');
},
error: function(res) {
var errors = res.responseJSON.errors;
var form_errors = '';
$.each(errors, function(i) {
form_errors += "\r\n" + errors[i];
});
swal("添加失败", "失败原因:"+form_errors, "error");
},
});
return false;
});