我希望通过ajax
加载所有网站,我正在使用此代码,代码解释了我自己:
<script>
function lage(url){
$.get(url, function(data) {
$('#plus').html(data);
$('[href]').each(function() {
var el = $(this);
var val = el.attr('href');
var sal= 'lage(\'' + val + '\')';
el.removeAttr('href')
.attr('onclick', sal);
});
});
}
</script>
<body onload="lage('http://crossorigin.me/http://anycorssite')">
<div id="plus"></div>
lage()
函数无法处理加载了ajax的内容,但正在处理onload
事件。
答案 0 :(得分:1)
你可能会寻找这样的东西:
<script>
function lage(url){
$.get(url, function(data) {
$('#plus').html(data);
});
}
var initialUrl = $('body').data('initialUrl');
lage(initialUrl);
$('body').on('click', 'a', function (e) {
var url = $(e.currentTarget).attr('href');
lage(url);
e.preventDefault();
});
</script>
<body data-initial-url="http://crossorigin.me/http://anycorssite">
<div id="plus"></div>
答案 1 :(得分:1)
您可以使用jQuery
附加活动。而是使用属性onclick
,您可以使用.click(..)
将事件绑定到元素。
$(document).ready(function() {
lage('http://crossorigin.me/http://m.ndtv.com');
$(document).on('click', 'a', function() { // dynamicaly bind event
var el = $(this);
var val = el.attr('href');
lage('http://crossorigin.me/' + val); //< call lage function
return false; // prevent to for default behavior (redirecting to href)
});
function lage(url) {
$.get(url, function(data) {
$('#plus').html(data);
});
}
});
.header { background-color: red; width: 700px; height: 150px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="header" />
<div id="plus"></div>