我在我的页面上使用了两个脚本,并且有一个普通的点击函数,它记录了一个用户正在进行的点击次数。因此,当我单击文档中的任何元素时,单击函数应该运行在同一元素上的其他函数之后。但在我的示例中,单击函数在将控件传递给另一个函数之前运行了多次。
/************ 1st Jquery Script ***************/
function($) {
$(function(e) {
$('.signupCustom').click(function(){
var email = $('#form-email').val()
var password = $('#pass').val()
var firstName= $('#form-first-name').val()
var lastName= $('#form-last-name').val()
var number= $('#form-mobile').val()
var type=$('#sel1').val()
$.ajax({
url: '/login',
type: 'GET',
data: {
'email': email,
'password':password,
'firstName':firstName,
'lastName':lastName,
'number':number,
'type':type
},
success: function(data){
if ($('#sel1').val() == "Travel-Agent"){
window.location.href = "/agentVerification.html"
}
else{
window.location.href = "/dashboardTraveller"
}
}
})
})
$('.login').click(function(){
var email = $('#form-username').val()
var password= $('#form-password').val()
$.ajax({
url: '/loginCustom',
type: 'GET',
data: {
'email': email,
'password':password
},
success: function(data){
window.location.href = data['url']
}
})
})
$('.destinationsButton').click(function(){
var url="/destinations";
window.location=url;
})
}); })(jQuery);
我已经将链接附加到包含第二个脚本的html页面上。
如果您转到这个链接,就会有一个图像:
当我单击Login按钮时,单击函数在控件转到其他函数之前运行多次。我希望单击函数只运行一次,然后控件应该转到其他函数。
我尝试了e.stopPropagation
,但是如果弹出出现在同一页上,弹出窗口就不会打开。在这里点击登录,弹出来了。
发布于 2015-11-05 04:52:12
你有什么理由使用下面的内容吗?
jQuery('*').on("click",function(e){});
我觉得这样会更好
jQuery('body').on("click",function(e){});
祝好运
发布于 2015-11-05 04:44:51
我不知道您被困在哪里了,但是您可以使用一只运行一次单击函数:
$(selector).one('click',function(){
//code runs only one click
});
https://stackoverflow.com/questions/33536826
复制相似问题