0

我有一个小问题。当返回结果时,我有一个标准的搜索屏幕(Perl、jQuery、css、html)我使用 jquery ui selectable 并将结果打印为有序列表、列表项。在用户单击所需记录并按下编辑按钮,使用选择的 id 时,这一直工作正常,我将它们重定向到“编辑/查看”屏幕。

今天我被要求添加双击功能,这意味着用户双击所需的记录并被带到“编辑/查看”页面。我在 FF 中开发,我们的用户使用 IE9 (UGGGGGGGG!!!!!!!!!!)。所以我用FF写了它并且很容易让它工作。这是我可选择的代码部分

$(function() {
$("#selectable").selectable({
      selecting: function(event, ui){
            if( $(".ui-selected, .ui-selecting").length > 1){
                  $(ui.selecting).removeClass("ui-selecting");
            }
            if( $(".ui-selected")) {
                    $("#editbtn").prop("disabled", false);
            }
      },
      stop: function() {
                    var result = $( "#select-result" ).empty();
                    $( ".ui-selected", this ).each(function() {
                            result.html('<input type="hidden" id="clientid" name="clientid" value="'+$(this).attr("id")+'">');
                    });
            }
});
$("ol li").on("dblclick", function() {
    alert("hey man!");
    var client_id = $("#clientid").val();
    window.location = "client?client_id="+client_id+"&user_id=$user_id";
});
});

我在这里做了一些事情,我相信你可以看到......我防止套索和选择多个记录,并且在选择时我将选择的 ID 扔到隐藏的输入中,这样我就可以在重定向中使用 id 和 jQuery 和与 Perl。

我在底部添加的新部分是双击。我从 $('#selectable').dblclick 开始,它在 FF 中完美运行。然后我在 IE9 中对其进行了测试,因为这是用户使用的,双击根本不会触发。

我将其更改为 $('body').dblclick 以确保我没有发疯,当然警报是在 IE9 中触发的。而且,现在两次,通过像疯子一样随机双击记录,我已经在 IE9 中触发了 dblclick 事件。几乎就像它隐藏在可选事件后面一样。我搞砸了距离:1,这实际上导致双击事件在 IE9 中触发,但随后它阻止我实际选择记录,因此 id 未定义。

在此先感谢您的帮助。我=新手。

4

1 回答 1

0

好吧,在发布上述帖子之前,我确实查看了很多地方。可笑的是,我看到的第一个帖子中包含了答案,我只是没有接受它。

我基本上添加了: cancel: '.ui-selected' inside .selectable({

按照此处的指示: 如何在与 JQuery UI Selectable 插件绑定的元素上启用 dblclick 事件?

于 2013-08-13T21:33:01.497 回答