我不知道为什么这对我不起作用。
我在linkclick上调用了这个!
$('.pagination a').live('click', function(e) {
e.preventDefault();
var page = $(this).attr("data-ajax-link");
//get classname of container box that should be reloaded
var box = $(this).parent().parent();
ajaxLoad(box, page, false);
console.log(box); //takes some time as well! WHY?
});
这里是触发的功能。
function ajaxLoad(targetBox, loadUrl) {
console.log('start');
console.log($(targetBox));
$.ajax({
url: loadUrl,
dataType: "html",
success: function(html,status) {
console.log('end');
我没有得到的奇怪的事情是我的控制台中会立即记录console.log('start')
,但在ajax功能成功返回之前,console.log($(targetBox));
不会出现在控制台中!
为什么?有什么想法吗?
这是触发该功能的HTML。
<div class="list wide">
<div class="pagination">
<span><</span>
<em>[1]</em>
<a data-ajax-link="/ajax/render/project/my?page=2" rel="next" href="/my/project/2">2</a>
<a data-ajax-link="/ajax/render/project/my?page=2" rel="next" href="/my/project/2">></a>
</div>
...
所以我用parent()选择的元素.parent()是div.list。所以当点击链接时,应立即记录.list。
答案 0 :(得分:0)