多个.not()按钮不起作用,除非我刷新该特定页面上的页面

时间:2017-11-20 20:34:17

标签: jquery ajax

所以我有这个我正在研究的ajax网站。我有它,所以它不会重新加载它

的相同页面

        $('a.ajax-link').not('.active').not('.selected').not('.btn-disabled').on('click', function(e) {
            if ($('#menu-overlay').hasClass("active")){
                CloseAction();
                setTimeout( function(){
                    $(".page-overlay").addClass("from-bottom");
                    $('#main').addClass('hidden');
                } , 3000 );
            }

            else{
                MenuOpen = "0";
                $(".page-overlay").addClass("from-bottom");
                $('#main').addClass('hidden');
            }

        });

       //trigger smooth transition from the actual page to the new one 
       $('body').not('.active').not('.selected').not('.btn-disabled').on('click', '[data-type="page-transition"]', function(event){
                
        if($(this).attr('target') || !AjaxLoad || $(this).attr('href') == '#'){
					return true;
				}
				event.preventDefault();

				var newPage = $(this).attr('href'),
					oldPage = window.location.pathname.substr(window.location.pathname.lastIndexOf('/') + 1),
                    selectedPage = $(this).hasClass("selected");

				if(newPage == oldPage){
					return true;
				}
                if(selectedPage == true){
					return true;
				}
                
                if ( MenuOpen == "1" ){
                    CloseAction();
                    setTimeout( function(){
                        // Load new page
                        if( !isAnimating ) changePage(newPage, true);
                        firstLoad = true;
                    } , 3000 );
                }
                else{
                    // Load new page
                    if( !isAnimating ) changePage(newPage, true);
                    firstLoad = true;
                }
                
            });
<li>
                    <a id="contact-trigger" class="ajax-link" href="contact.html" data-type="page-transition">
                        <i class="fa fa-envelope-square fa-2x"></i>
                    </a>
                </li>

但是当你从'index'开始并前往'contact'时,按钮不能正常工作,它仍会重新加载页面并卡住,因为ajax不会让它通过因为它不是假设至。现在,如果我从“联系人”开始并再次单击联系人触发器,它将按预期工作。那么有什么不对,为什么它不能按照它来到特定页面的方式工作呢?

1 个答案:

答案 0 :(得分:0)

使用提供的代码,如果您不希望页面在点击功能上刷新,则需要添加preventDefault()&amp; stopPropagation();

Object.getOwnPropertyDescriptor(x, "itemCount").get.call(this)