我最近部署了一个无限滚动到我已经构建的应用程序,并发现有时我需要点击两次才能发生一些事情。
我的应用程序有赞,当dom加载后,我需要点击两次赞按钮才会改变,然后一旦我点击其他的按钮,这是可以的,但我总是必须点击一次,让应用程序几乎“唤醒”。
有没有更好的解决方案?
$(document).ready(function() {
function runUpdate(url, item) {
$.ajax({
type: "GET",
url: url,
cache: false,
success: function(data){
if (data == '200') {
removeAddColor(item);
}
}
});
}
$('.mini-like').live('click', function(){
$('.mini-like').toggle(
function() {
var item = $(this);
var href = item.attr('href');
runUpdate(href, item);
},
function() {
var item = $(this);
var rel = item.attr('rel');
runUpdate(rel, item);
}
);
});
function removeAddColorFollow(item) {
var href = $(this).attr('href');
var rel = $(this).attr('rel');
if (item.hasClass('btn-success')) {
$(item).removeClass('btn-success').attr('href', href).attr('rel', rel);
$(item).find('i').removeClass('icon-white');
} else {
$(item).addClass('btn-success').attr('href', rel).attr('rel', href);
$(item).find('i').addClass('icon-white');
};
}
});发布于 2012-05-28 18:22:49
除非我完全错了,否则只需在单击一次后将切换事件附加到.mini-like。试着替换掉
$('.mini-like').live('click', function() {...使用
$(function() {...要在文档就绪时附加切换事件处理程序,而不是单击
发布于 2012-05-28 18:17:25
代码$('.mini-like').live('click',...应该放在$(document).ready()内部
您可以使用.on代替.live。由于.on是一种新方法,而.live现在已弃用,因此您应该使用.on
更新重写的版本将是
$(document).ready(function(){
$('.mini-like').on('click', function(){
$('.mini-like').toggle(
function() {
var item = $(this);
var href = item.attr('href');
runUpdate(href, item);
},
function() {
var item = $(this);
var rel = item.attr('rel');
runUpdate(rel, item);
}
);
});
});
function runUpdate(url, item) {
$.ajax({
type: "GET",
url: url,
cache: false,
success: function(data){
if (data == '200') {
removeAddColor(item);
}
}
});
}
function removeAddColorFollow(item) {
var href = $(this).attr('href');
var rel = $(this).attr('rel');
if (item.hasClass('btn-success')) {
$(item).removeClass('btn-success').attr('href', href).attr('rel', rel);
$(item).find('i').removeClass('icon-white');
} else {
$(item).addClass('btn-success').attr('href', rel).attr('rel', href);
$(item).find('i').addClass('icon-white');
};
}https://stackoverflow.com/questions/10782910
复制相似问题