0

我似乎无法弄清楚的两个小问题:

  1. 当您进入该页面时,我允许单击缩略图以转到不同的页面。但是,当我单击“删除拇指”按钮时,我不允许用户单击,我使用阻止默认值。现在我的问题是当我点击“完成”按钮时,拇指仍然不可点击。单击“完成”后,我想重新启用单击

  2. 我的第二个问题是 - 如果您单击“删除拇指”按钮,这将允许您使用可排序的 jQueryUI 重新排列拇指的顺序。

我在第一个孩子的 css 中有一个活跃的课程。我希望活动的 li 只在列表中的第一个。因此,如果您将第一个 li 拖出,它将删除活动类,然后列表中的第一个 li 将成为活动类。

.gallery li a.active:first-child 

我有下面的演示代码:http: //jsfiddle.net/3E2Hg/73/

希望有人能帮忙,

谢谢

4

3 回答 3

1

对于问题 1 - 您可以使用该DEMO FIDDLE的标志

代码 -

var disonclick = false;

$(function deleteImage(){
    $(".deleteAllImages").click(function() {

        $('.deleteAllImages').hide();
        $('.cancelDeleteImages').show();

        //TODO: Need to disable href from being clickable when in delete mode
        disonclick = true;
        $('#sortable li a').click(function(e){
            if(disonclick) e.preventDefault();
        });        
        //TODO: Need to make active class toggle when first in the list (first li = active)

        $( "#sortable" ).sortable("enable");
        $( "#sortable" ).sortable({
            //Need to allow the user to be able to scrollover the thumbnails on device
            //delay: 900, // touch and hold to activate li being sortable
            //scroll: true, // allow user to scroll over thumbnails
            placeholder: "ui-state-highlight"
        });
    });
});

$(function cancelDeleteImages(){
    $(".cancelDeleteImages").click(function() {
        $('.cancelDeleteImages').hide(); 
        $('.deleteAllImages').show(); 
        disonclick = false;
        $( "#sortable" ).sortable("disable");  
    });
});
于 2013-07-11T11:25:53.140 回答
1

伙计,对于您的第一个问题,这是解决方案。

$(function cancelDeleteImages(){
    $(".cancelDeleteImages").click(function(event) {

        $('.cancelDeleteImages').hide(); 
        $('.deleteAllImages').show(); 

        $( "#sortable" ).sortable("disable");
        $('#sortable li a').unbind('click').click();
       // return true;
    });
});

第二个问题,没看懂,能详细解释一下吗

第二个解决方案:

$( "#sortable" ).sortable({
            //Need to allow the user to be able to scrollover the thumbnails on device
            //delay: 900, // touch and hold to activate li being sortable
            //scroll: true, // allow user to scroll over thumbnails
            placeholder: "ui-state-highlight",

            stop: function(event, ui) {

           $('ul#sortable a.active').removeClass('active');
        $('ul#sortable a:first').addClass('active');
            }
        });

用上面的替换你的 .sortable 。作品

于 2013-07-11T11:33:03.630 回答
0

使用jQuery.on()jQuery.off()函数进行事件处理,也可以使用bind() / unbind()函数

防止默认点击事件

$('#sortable li a').on("click",function() {
        return false;
    });

启用

$('#sortable li a').off("click");

演示:http://jsfiddle.net/VZwV9/

希望这将帮助您解决 #1 问题

于 2013-07-11T12:31:53.417 回答