2017-02-11 83 views
0

我决定设计我的,我使用Ajax的新工作,我用这个鳕鱼负载页面香港浏览器的Ajax

HTML

<html> 
<head> 
<meta charset="utf-8"> 
<title>Untitled Document</title> 
<link rel="stylesheet" type="text/css" href="style.css"/> 
<script src="jquery.js"></script> 
<script src="script.js"></script> 
</head> 

<body> 
<div class="menu"> 
    <ul> 
    <li class="page2" id="page2">PAGE TOW</li> 
    <li class="page3" id="page3">PAGE THREE</li> 
    </ul> 
</div> 
<div class="load"></div> 
</body> 
</html> 

JS

$(document).on('click','.menu li',function(){ 
    var $this = $(this); 
    if($(this).hasClass("page2")) { 
     $(".load").load('page2.php'); 
    } 
    else if($(this).hasClass("page3")) { 
     $(".load").load('page3.php'); 
    } 
}); 

这工作正常!但很多时候,当我点击标签浏览器挂起... 我的问题是我是否写错代码? 或者这在Ajax中是正常的 如果有办法帮助或不使用Ajax

回答

0

代码写得不好,但是您选择了一种解决此问题的低效方法。通过将您的点击事件附加到$(document),您导致了大量不必要的开销,并使用浏览器可能在其他地方使用的大量资源。

相反,您应该尝试将事件处理程序添加到最近的父元素。像这样...
$('.menu li').on('click', function(e) { //Run your code in here });
查看this stackoverflow question上的接受答案,了解更多信息,为什么这是一个更好的做法。

This answer here有关于这个问题的很多很好的信息。