Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用文本选择上的单击事件_Javascript_Jquery - Fatal编程技术网

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

Javascript 禁用文本选择上的单击事件,javascript,jquery,Javascript,Jquery,我有以下jQuery,当用户单击td时,它读取td的文本,然后执行重定向。如果用户选择文本而不是单击td,如何禁用单击事件 $("td").click(function() { var brand = $(this).closest("tr").attr("data-brand"); var url = window.btoa(window.location.toString()); window.location = "?page=sku&action=bran

我有以下jQuery,当用户单击td时,它读取td的文本,然后执行重定向。如果用户选择文本而不是单击td,如何禁用单击事件

$("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;
});

在这里,我可以使用一个函数找到它来获取页面所选的文本,如果没有找到选择,请跟随链接,否则什么也不做

$("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 "";
}

您可以使用,但它只适用于几年后的表单元素,这个答案仍然有用。不过,我确实有一个问题:getSelected函数的额外复杂性是否可以覆盖较旧的浏览器?如果不需要,为什么需要它呢?我认为这个函数可以更简洁:不需要最后一次返回,“else”块也不需要,只需要在内部和外部编写代码。