所以,我有一个jQuery AJAX
调用,它从服务器获取数据(一些文本,一些链接)。
在AJAX
内部成功回调函数中,我得到一个绑定到.on
的{{1}},为我下一页加载并获取所点击链接的文本(比方说stackoverflow.com) )。
问题从这里开始,因为在新加载的页面中我得到了锚点......
每次点击锚链接后,我都获得了新的<a>
值。
.text()
我想知道如何锁定$.ajax({
url: url,
type: type,
dataType: dataType,
success: function(data){
$('.container').append(data);
$('.container').on('click', 'a', function(e){
e.preventDefault();
var clickLinkName = $(this).text();
console.log(clickLinkName);
$('.container').load($(this).attr('href'));
});
}
});
变量。或任何其他方式只保存第一击。
答案 0 :(得分:1)
我认为这样可以解决问题:
$.ajax({
url: url,
type: type,
dataType: dataType,
success: function(data) {
$(".container").append(data);
var clickLinkName; // Declared here.
$(".container").on("click", "a", function(e) {
e.preventDefault();
// If not initialized, initialize.
if(!clickLinkName) {
clickLinkName = $(this).text();
}
console.log(clickLinkName);
$(".container").load($(this).attr("href"));
});
}
});
这样只会保存变量clickLinkName
中的第一个值。这回答了你的问题,但我确信有更好的方法可以做到这一点。