Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每个函数中的jQuery-preventDefault()_Javascript_Jquery - Fatal编程技术网

Javascript 每个函数中的jQuery-preventDefault()

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

我想在中使用preventDefault()。每个函数用于按钮集合,但它不起作用。当我把它和一个。点击功能一起使用时,它工作得很好,但在里面。每个都不是

我做错了什么

这是我的.js代码

$(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')不起作用的原因,无论如何,感谢您的帮助!