Javascript 每个函数中的jQuery-preventDefault()
我想在中使用preventDefault()。每个函数用于按钮集合,但它不起作用。当我把它和一个。点击功能一起使用时,它工作得很好,但在里面。每个都不是 我做错了什么 这是我的.js代码Javascript 每个函数中的jQuery-preventDefault(),javascript,jquery,Javascript,Jquery,我想在中使用preventDefault()。每个函数用于按钮集合,但它不起作用。当我把它和一个。点击功能一起使用时,它工作得很好,但在里面。每个都不是 我做错了什么 这是我的.js代码 $(document).ready(function() { var findingStatus = $('#findingStatus').attr('finding-status-type'); var findingLike = $('#finding_like_btn'); v
$(document).ready(function() {
var findingStatus = $('#findingStatus').attr('finding-status-type');
var findingLike = $('#finding_like_btn');
var findingDislikeBox = $('.finding_dislike_add');
var findingDislikeCollection = $('.finding_dislike_add_btn')
var findingUnlike = $('#finding_unlike_btn');
var findingDislikeRemoved = $('#finding_dislike_removed');
var alertBox = $('.alert-box').hide();
if (findingStatus == 0) {
findingDislikeBox.show();
findingUnlike.hide();
findingDislikeRemoved.hide();
}
else if (findingStatus == 1) {
findingDislikeBox.hide();
findingUnlike.show();
findingDislikeRemoved.hide();
}
else if (findingStatus == 2) {
findingDislikeRemoved.show();
findingUnlike.show();
findingDislikeBox.hide();
findingLike.hide();
}
findingDislikeCollection.each(function() {
var findingDislike = $(this).clone();
var url = findingDislike.attr("href");
findingDislike.click(function(event) {
event.preventDefault();
$.ajax({
url: url,
type: "POST",
dataType: "json",
success: function(data) {
if (data.profileState == 1) {
$('#dislike_count_btn').text('Odrzuć' + data.DislikeCount);
findingDislikeBox.hide();
findingDislikeRemoved.show();
findingUnlike.show();
//findingUnDislike.show();
//findingUnDislike.attr('disabled', false );
//findingUnDislike.text('Cofnij');
}
else {
alertBox.show();
if ($('.alert-box-msg').length==0) {
$('.alert-area').prepend('<p class="alert-area alert-box-msg">Żeby korzystać z tej funkcji musisz być zalogowany.</p>');
}
findingDislike.attr('disabled', false );
}
},
error: function() {
alert('Problem z serwerem, spróbuj ponownie za kilka minut.');
findingDislike.attr('disabled', false );
}
});
});
});
$('html').click(function (e) {
if (!$(e.target).hasClass('alert-area')) {
$('.alert-box').hide();
findingDislike.attr('disabled', false );
}
});
});
$(文档).ready(函数(){
var findingStatus=$('#findingStatus').attr('finding-status-type');
var findingLike=$(“#finding_like_btn”);
var findingDislikeBox=$('.finding_厌恶_添加');
var findingDislikeCollection=$('.查找\u不喜欢\u添加\u btn')
var FindingAstrophen=$(“#finding_Astrophen_btn”);
var findingDislikeRemoved=$(“#finding_dislike_removed”);
var alertBox=$('.alert box').hide();
如果(findingStatus==0){
findingDislikeBox.show();
finding.hide();
findingDislikeRemoved.hide();
}
else if(findingStatus==1){
findingDislikeBox.hide();
finding.show();
findingDislikeRemoved.hide();
}
else if(findingStatus==2){
findingDislikeRemoved.show();
finding.show();
findingDislikeBox.hide();
findingLike.hide();
}
findingDislikeCollection.each(function()函数){
var findingHabite=$(this.clone();
var url=findingHabite.attr(“href”);
查找不喜欢。单击(函数(事件){
event.preventDefault();
$.ajax({
url:url,
类型:“POST”,
数据类型:“json”,
成功:功能(数据){
if(data.profileState==1){
$('#厌恶计数''u btn').text('Odrzuć'+data.DislikeCount);
findingDislikeBox.hide();
findingDislikeRemoved.show();
finding.show();
//findingUnDislike.show();
//findingUnDislike.attr('disabled',false);
//findingUnDislike.text('Cofnij');
}
否则{
show();
如果($('.alert box msg')。长度==0){
$(“.alert area”).prepend(“eby korzystaćz tej funkcji musisz byćzalogowany.
”);
}
findingInfect.attr('disabled',false);
}
},
错误:函数(){
警报(“问题z serwerem,spróbuj ponownie za kilka minut.”);
findingInfect.attr('disabled',false);
}
});
});
});
$('html')。单击(函数(e){
if(!$(e.target).hasClass('alert-area')){
$('.alert box').hide();
findingInfect.attr('disabled',false);
}
});
});
谢谢你的回答这不是正确的方法。应采取以下措施:
findingDislikeCollection.click(function(event){
var findingDislike = $(this);
var url = findingDislike.attr("href");
//AJAX call
event.preventDefault();
});
点击事件的更多详情如下:
您正在克隆元素,这意味着您实际上没有将事件侦听器附加到DOM中的任何内容。克隆的元素必须使用JavaScript手动插入到DOM中才能生效。问题1:为什么要创建节点的克隆并将事件附加到克隆?此代码显然不起作用。克隆的元素不在DOM中。因此,无法在克隆上单击。。因此,代码从未执行过hanks for answer Hiral,我是jQuery的新手,我必须使用它;代替.clone(),现在preventDefault()工作,但ajax不工作,我给出了未定义的url:/我删除了.clone()和preventDefault()工作正常,但ajax不工作,console.log(url)说我现在得到的是未定义的:var findingHabite=$(这个);那么,
findingHabite.attr(“href”)
是否返回未定义?是的,我得到了:var findingHabite=$(这个);var url=findingHabite.attr(“href”);控制台提供url-未定义的问题已解决,新手错误:我使用了“li”而不是“a”对象,这就是为什么arrt('href')不起作用的原因,无论如何,感谢您的帮助!