模板中的window.onSelection() . mytemplate . onrender ()

window.onSelection() in Template.myTemplate.onRenderd() in blaze

本文关键字:mytemplate onrender onSelection window      更新时间:2023-09-26

我有一个模板(blogContent.html),它在(blogContent.js)中使用助手加载页面上的文本。一旦页面加载,我试图在blogContent.html上选择一些文本并突出显示它。

要获取选中的文本,我要这样做

Template.blogContent.onRendered(function(){
    if (window.onSelection) {
        var selectedText = window.onSelection().toString();
        console.log(selectedText);
    }
});

然而,我遇到了两个问题。1. if块总是在页面加载时执行,之后永远不会执行,也就是说,当我选择一些文本时不会执行。2. 由于(1)的原因,console.log只在页面加载时在客户端控制台上输出一次空字符串,之后什么都不发生。

任何提示都非常感谢。我是webdev和meteor的新手。非常感谢。

window.onSelection不是有效的函数或属性。你可能会想到window.getSelection()

流星不会重新渲染模板,除非它内部的数据改变,所以onRendered函数不会被调用。

这里需要的是普通的jQuery——关于如何为文本选择创建侦听器,请参见这个问题。