我有这个脚本需要在ipad上工作。它正在使用live进行chrome工作,然而,将其移动到使其无响应。
任何想法,我将不胜感激!
$("#clickAll").on("click", function () {
$(".welcome1poi").show();
$(this).addClass("active");
});
$("#clickAll.active").on("click", function () {
$(this).removeClass("active");
$(".welcome1poi").hide();
});
答案 0 :(得分:3)
试试这个
$("#clickAll").on("click", function(){
$(".welcome1poi").toggle();
$(this).toggleClass("active");
});
<强>更新强>
建议
$(document).on('click',"#clickAll", function(){
$(".welcome1poi").toggle();
$(this).toggleClass("active");
});
因为它正在使用live()我假设你的元素clickAll
是动态添加的,所以试试这个
$(document).on("click","#clickAll", function () {
$(".welcome1poi").show();
$(this).addClass("active");
});
$(document).on("click","#clickAll.active", function () {
$(this).removeClass("active");
$(".welcome1poi").hide();
});
您可以将$(document)
选择器替换为最接近#clickAll
元素的元素,这样会更有效率
答案 1 :(得分:1)
这会将事件委托给body
,当它冒充DOM时会被捕获。
$('body').on("click", "#clickAll", function(){
$(".welcome1poi").show();
$(this).addClass("active");
});
$('body').on("click", "#clickAll.active", function(){
$(this).removeClass("active");
$(".welcome1poi").hide();
});
答案 2 :(得分:-1)
您是否正在添加和删除“有效”类以创建切换效果?如果是这样,请尝试.toggle(),如下所示:
$('#clickAll).toggle(
function() { $('.welcome1poi').show(); },
function() { $('.welcome1poi').hide(); });