【发布时间】:2016-09-02 14:49:17
【问题描述】:
我正在编写一个日志消息框/与聊天相同的功能,一旦有人在聊天中选择文本(例如,如果用户想要粘贴某些内容),我想将我的 AutoScrollDown 布尔值设置为 false。
我用 ul 和 lis 实现了我的日志消息/聊天框,如下所示:
<ul id="1" class="logbox">
<li class="debug"><b>At</b> w3schools.com you will learn how to make a website. We offer free tutorials in all web development technologies.learn how to make a website. We offer free tutorials in all web development technologies.</li>
<li class="error"><b>At</b> w3schools.com you will learn how to make a website. We offer free tutorials in all web development technologies.</li>
<li class="warning"><b>At</b> w3schools.com you will learn how to make a website. We offer free tutorials in all web development technologies.</li>
<li>blabla</li>
</ul>
我尝试了以下事件来检查是否选择了我的 ul 中的内容,但没有成功:
$("#1").on("focus", function() {
autoScrollEnabled = 0;
});
$("#1").off("focus", function() {
autoScrollEnabled = 1;
});
我的问题:
一旦有人在我的 ul 中选择/突出显示文本,我如何将 autoScrollEnabled 设置为 0,以及如何检查用户是否已停止选择/突出显示任何文本。
【问题讨论】:
-
@Omeed 不,我以前读过那个堆栈。
-
我不确定你是否这样做了。它指出不可能有明确的“onHightlightEvent”。我相信答案解释了如何通过 mouseup 实现这一目标。这怎么不能回答你的问题?
-
请理解我的用例,一个聊天/日志框,每秒/毫秒可能会有新消息+自动向下滚动,一旦选择了某些内容,我需要停止自动向下滚动,否则它会快速向下滚动,无法正确选择文本。我试图用 500 毫秒的新文本间隔来演示这个问题:streamable.com/67ay。如果会有更大的消息(比如 10 行左右,这会使粘贴非常不舒服)
-
也许你需要更广泛的东西,比如当你的聊天框中有任何鼠标活动时?无论如何,对不起,祝你好运。
标签: javascript jquery html