Javascript 多次运行Jquery函数
我在我的页面上使用了两个脚本,有一个通用的点击功能,记录一个用户的点击次数。因此,当我单击文档中的任何元素时,click函数应该在同一元素上的其他函数之后运行。但在我的例子中,click函数在将控件传递给另一个函数之前会运行多次Javascript 多次运行Jquery函数,javascript,jquery,html,Javascript,Jquery,Html,我在我的页面上使用了两个脚本,有一个通用的点击功能,记录一个用户的点击次数。因此,当我单击文档中的任何元素时,click函数应该在同一元素上的其他函数之后运行。但在我的例子中,click函数在将控件传递给另一个函数之前会运行多次 /************ 1st Jquery Script ***************/ function($) { $(function(e) { $('.signupCustom').click(function(){
/************ 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按钮时,click函数在控件转到其他函数之前运行多次。我想点击功能运行一次,然后控制应该转到其他功能
我尝试了
e.stopPropagation
,但如果在同一页面上出现弹出窗口,则弹出窗口不会打开。单击登录时,弹出窗口出现。我不知道您被卡在哪里,但您可以使用它只运行一次单击功能:
$(selector).one('click',function(){
//code runs only one click
});
您使用下面的选项有什么原因吗
jQuery('*').on("click",function(e){});
我认为这可能会更好
jQuery('body').on("click",function(e){});
祝你好运是的,这是有原因的,我想检测文档中的每一次点击。这就是我使用这个的原因。感谢Chrishtopher,我做了特别的编辑,它工作了…….非常感谢:)这被多次触发的原因是所有的包装器在使用“*”时也会向它们发送事件-因此每个包装器都会触发事件。