Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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 如何在MS Html编辑器中选择像?_Javascript_Javascript Events_Editor - Fatal编程技术网

Javascript 如何在MS Html编辑器中选择像?

Javascript 如何在MS Html编辑器中选择像?,javascript,javascript-events,editor,Javascript,Javascript Events,Editor,如果插入了诸如DIV、MARQUEE或IMG之类的标记,则可以在单击标记区域中的任意位置时选择该标记。但是,如果插入了表,则只能在单击标记区域的边框时选择该表。我已经搜索了可能的eventonclick,为DIV定义的keydown,但不幸的是没有找到相关的Javascript代码。设计模式用于编辑器。有人知道如何使表格像DIV一样更容易选择吗 这可能意味着创建表是为了为每个单元格定义一个事件,并且可能每行也有一个事件。当您单击行中的任何区域时,如果没有为单元格指定填充,则会触发单元格事件,并首

如果插入了诸如DIV、MARQUEE或IMG之类的标记,则可以在单击标记区域中的任意位置时选择该标记。但是,如果插入了表,则只能在单击标记区域的边框时选择该表。我已经搜索了可能的eventonclick,为DIV定义的keydown,但不幸的是没有找到相关的Javascript代码。设计模式用于编辑器。有人知道如何使表格像DIV一样更容易选择吗

这可能意味着创建表是为了为每个单元格定义一个事件,并且可能每行也有一个事件。当您单击行中的任何区域时,如果没有为单元格指定填充,则会触发单元格事件,并首先检测单元格事件而不是行事件。同样,单击行将触发行事件而不是表事件

所以这很困难,但是如果您没有定义任何事件,比如onclick或每行或每单元格上的任何事件,那么您只能得到表事件;否则,任何行或单元格上定义的事件将优先于表事件被激活。

您可以使用ControlRange并选择它。假设table元素存储在名为table的变量中:

table.onclick = function() {
    if (document.selection.type != "Control") {
        var range = document.body.createControlRange();
        range.add(this);
        range.select();
    }
};
jsFiddle: