嗨,我正在创建一个电子商务网站的界面,作为一个个人project.Being,一个网络开发的初学者,我似乎遇到了一个我不理解的问题。我正在使用jQuery的加载函数来更改click.This上的2个div的内容是我代码的超文本标记语言:
<ul id="title">
<li><h2 class="title"><a href="" class="selected">Configureaza</a></h2></li>
<li><h2 class="title"><a href="">Personalizeaza</a></h2></li>
<li><h2 class="title"><a href="">Adonuri</a></h2></li>
<li><h2 class="title"><a href="">Verifica</a></h2></li>
</ul>
<div id="tot">
<div id="configureaza">
<div id="stuff">
<img src="img/windows.jpg"/>
<div id="select">
<h2>Selecteaza Produsul Microsoft</h2>
<form>
<ul>
<li><input type="checkbox" value="Windows Vista"/>Windows Vista<span>+320 lei</span></li>
<li><input type="checkbox" value="Windows 7"/>Windows 7<span>+440 lei</span></li>
<li><input type="checkbox" value="Microsoft Office"/>Microsoft Office<span>+220 lei</span></li>
</ul>
</form>
</div>
</div>
<ul id="links">
<li><a href=""><img src="img/msvista_on.gif" title="Sistem de Operare"/></a></li>
<li><a href=""><img src="img/placadebaza.png" title="Placa de Baza"/></a></li>
<li><a href=""><img src="img/procesor.png" title="Procesor"/></a></li>
<li><a href=""><img src="img/aw_optical_on.gif" title="Unitate Optica"/></a></li>
<li><a href=""><img src="img/hd.jpg" title="Hard-Disk"/></a></li>
<li><a href=""><img src="img/vs4.jpg" title="Rami"/></a></li>
<li><a href=""><img src="img/vc.jpg" title="Placa Video"/></a></li>
</ul>
</div>
</div>jQuery:
$(document).ready(function(){
$('img[title="Sistem de Operare"]').click(function(e){
e.preventDefault();
$('div#stuff').load('win.html');
})
$('img[title="Placa de Baza"]').click(function(e){
e.preventDefault();
$('div#stuff').load('motherboard.html');
})
$("ul#title a").click(function(e){
e.preventDefault();
var link = $(this).text();
if(link === "Configureaza"){
$('div#tot').load('Configureaza.html');
}else if(link === "Personalizeaza"){
$('div#tot').load('Personalizeaza.html');
}else if(link === "Adonuri"){
$('div#tot').load('Addons.html');
}else{
$('div#tot').load('Verifica.html');
}
$('ul#title a').removeClass('selected');
$(this).addClass('selected');
})
})我只发布了来自ul#links的前2个链接的代码,因为当我第一次加载页面并单击例如$('imgtitle="Sistem“‘)时,其他代码是similar.Ok的,加载函数正常工作,它加载指定的元素there.But,如果我单击div#tot中的任何链接,然后在主页上com返回,其他链接不再起作用,我注意到link.How上有一个# beinng,我能解决这个问题吗?
另一个我不理解的问题是,当我尝试转到我有页面的文件夹并手动打开它时,如果我从netbeans打开它们,例如,它们都是work.What,我是不是做错了?
发布于 2012-06-02 22:37:36
单击()在页面首次加载时运行一次。使用load()添加新元素后,即使与click()一起使用的选择器与这些新元素匹配,也不会再次运行该选择器,也不会对它们运行click()函数。
在旧版本的jQuery中,我们过去常常使用"live()“来实现这一点,但现在首选的方法是使用"on()”。所以这就是:
$("ul#title a").click(function(e){应该变成:
$(document).on("click", "ul#title a", function(e){这就是说,当单击文档时,如果事件的目标与"ul#title a“选择器匹配,则继续运行单击处理程序。因为文档从一开始就存在,而且处理程序在文档上,所以当"ul#title a“元素添加到页面时并不重要,它们总是有效的。
https://stackoverflow.com/questions/10862446
复制相似问题