小编tjf*_*ker的帖子

Selection selectfinish/selectend 事件应该如何实现?

每当用户完成选择 \xe2\x80\x94 时,我都会做一些事情,基本上,在每个事件mouseup之后的第一个事件上selectstart,我认为页面上的 \xe2\x80\x94 。我想将这个选择包装在一个元素中,通过 CSS 设置样式。我推测 Selection API 为此提供了一个事件;然而,似乎并非如此。

\n

我不只是简单地监听,mouseup因为我特别寻找它来处理浏览器查找功能产生的选择(“在此页面查找\xe2\x80\xa6”; \xe2\x8c\x98+ f) 。

\n

\r\n
\r\n
let selContainer = document.createElement(\'span\')\nspan.classList.add(\'user-selection\')\n\nconst wrapSelection = () => {\n  window.getSelection().getRangeAt(0).surroundContent(selContainer)\n}\n\n\n/*                   \xe2\x94\x8f\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x93\n                     \xe2\x94\x83                          \xe2\x94\x83\n                     \xe2\x94\x83  The Selection API only  \xe2\x94\x83\n                     \xe2\x94\x83  affords these events:   \xe2\x94\x83\n                     \xe2\x94\x83                          \xe2\x94\x83\n                     \xe2\x94\x83  - selectionchange       \xe2\x94\x83\n                     \xe2\x94\x83  - selectstart     \xe2\x94\x8f\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\xab\n                     \xe2\x94\x83                    \xe2\x94\x83issue\xe2\x94\x83\n                     \xe2\x94\x97\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\xbb\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x9b\n\n*/document.addEventListener(\'selectfinish\', wrapSelection)/*\n                             \xe2\x94\x97\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\xb3\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x9b\n                                  \xe2\x94\x83\n                                  \xe2\x94\x83\n                               no such\n                                event                                                                                                                                                                                                        */
Run Code Online (Sandbox Code Playgroud)\r\n
\r\n
\r\n

\n

javascript event-handling textselection dom-events observable

7
推荐指数
1
解决办法
2666
查看次数

破坏性任务中的道具可以原地转换吗?

这有效...

const { prop1:val1, prop2:val2 ) = req.query
val1 = val1.toLowerCase()
Run Code Online (Sandbox Code Playgroud)

虽然,我更倾向于做类似的事情

const { prop1.toLowerCase():val1, prop2:val2 } = req.query
Run Code Online (Sandbox Code Playgroud)

要么

const { prop1:val1.toLowerCase(), prop2:val2 } = req.query
Run Code Online (Sandbox Code Playgroud)

两者都不起作用。是否有与此类似的语法,还是必须在破坏性分配之外执行操作?

javascript syntax destructuring variable-assignment ecmascript-6

6
推荐指数
1
解决办法
339
查看次数

CSS选择器级联/特异性无法按预期工作

细节

我正在使用FirefoxDeveloperEdition并遇到意外的选择器优先级.我已经阅读了Smashing Magazine的文章"CSS特异性:你应该知道的事情",并且,据我所知,已经构建了CSS选择器,因为它们应该是为了达到每个特定的预期水平.但是,错误的声明正在被取消.

这是什么问题?我是不是完全围绕选择器特异性的运作?这是一个错误吗?或者是其他东西?

项目代码(简化)

/index.html

<head>
  <link href="css/style.css">
</head>
<body>
  <section class="hud">
    <section class="main float-l">
      <a href="#0" class="button">
        <div class="outer container">
          <div class="inner container">
            <p class="show"> <!-- This text is meant to be white by the style declared at line 159. But, it's grey by line 61. -->
              View Details
            </p>
            <div class="arrow"></div>
            <p class="hide"> <!-- This text is meant to be white by the style declared at line 159. But, it's grey by line 61. …
Run Code Online (Sandbox Code Playgroud)

css css-selectors css-specificity

2
推荐指数
1
解决办法
821
查看次数

为什么这个函数的else部分不会执行?

钢笔就在这里

当根据两个元素的类的存在点击链接/按钮时,我有两个元素设置来改变宽度,增加或减少.只有if一节if...else中的.toggle功能似乎是工作.抽屉打开但随后在触发元素的后续点击时不会关闭,尽管通过单击触发元素仍然可以成功地来回更改类.

我在这里错过了什么?谢谢.

javascript与jquery

    var container = document.getElementById('container');

    container.widthOpen = '800px';
    container.widthClosed = '210px';

    container.isOpen = function() {
      return this.classList.contains('open');
    };

    container.toggle = function() {
      this.classList.toggle('open');
      if (this.isOpen) {
        $(this).animate({
          width: container.widthOpen
        });
      } else {
        $(this).animate({
          width: container.widthClosed
        });
      }
    };

    var drawer = document.getElementById('drawer');

    drawer.widthOpen = '600px';
    drawer.widthClosed = '10px';

    drawer.isOpen = function() {
      return this.classList.contains('open');
    };

    drawer.toggle = function() {
      this.classList.toggle('open');
      if (this.isOpen) {
        $(this).animate({
          width: drawer.widthOpen
        });
      } else …
Run Code Online (Sandbox Code Playgroud)

javascript jquery if-statement this control-flow

-1
推荐指数
1
解决办法
107
查看次数