禁用文本选择上的单击事件

时间:2013-07-22 17:05:42

标签: javascript jquery

我有以下jQuery,当用户点击td时,它会读取td的文本然后进行重定向。如果用户选择文本而不是单击td?

,如何禁用click事件
$("td").click(function() {
    var brand = $(this).closest("tr").attr("data-brand");
    var url = window.btoa(window.location.toString());
    window.location = "?page=sku&action=brand&brand=" + brand + "&b=" + url;
});

1 个答案:

答案 0 :(得分:9)

我们去了,我能够找到here找到的函数来获取页面的选定文本,如果没有找到选择,请点击链接,否则什么都不做。

$("td").click(function() {
    var sel = getSelected().toString();
    if (sel === "") {
        var brand = $(this).closest("tr").attr("data-brand");
        var url = window.btoa(window.location.toString());
        window.location = "?page=sku&action=brand&brand=" + brand + "&b=" + url;
    }
});

function getSelected() {
    if (window.getSelection) {
        return window.getSelection().toString();
    } else if (document.getSelection) {
        return document.getSelection().toString();
    } else {
        var selection = document.selection && document.selection.createRange();
        if (selection.text) {
            return selection.text.toString();
        }
        return "";
    }
    return "";
}