有一种方法可以将这两种技术结合起来,这样当我们在div“结果”中得到它们时,它们会一起工作吗?
让我们看看问题..我们有第一个执行ajax请求的代码
var http_request = false;
function makeRequest(url,getvar,funzione) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
//http_request.overrideMimeType('text/xml');
// See note below about this line
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Errore :( Non riesco a creare unna connessione XMLHTTP');
return false;
}
http_request.onreadystatechange = funzione;
http_request.open('POST', url, true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request.send(getvar);
}
function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
//alert(http_request.responseText);
document.getElementById("result").innerHTML = http_request.responseText;
} else {
alert('C\'è stato un problema alla connessione.');
}
}else{
document.getElementById("result").innerHTML ="loading";
}
}
另一个编辑andress栏的函数..
jQuery(document).ready(function() {
$('a.clickurl').click(function(event) {
var currentPage = document.location.pathname.substring(document.location.pathname.lastIndexOf('/') + 1);
if ($(this).attr('href') != currentPage){
if (history && history.pushState) {
history.pushState(null, document.title, $(this).attr('href'));
$.get($(this).attr('href'), {ajax:'1'}, function(data, text, xhr) {
pageSlider(data, text, xhr);
});
event.preventDefault();
}
}
});
在第一个因素之后我们得到div的结果..并且到这里一切正常,但是如何让函数也在“result”div中的链接中工作?
设置一个href =“#”ajaxrequest工作正常,只需重新刷新“result”div ..但如果我设置了不同的地址加载整个页面..
PS。我已经尝试过返回false;
答案 0 :(得分:0)
问题在于您不是动态内容的binidng事件。您需要重新绑定或使用事件委派。
$(document).on("click", 'a.clickurl', function(event) {
如果所有链接仅在结果div 中,则甚至更好
$("#result").on("click", 'a.clickurl', function(event) {