我有一个模板(blogContent.html),它使用(blogContent.js)中的帮助程序加载页面上的文本。页面加载后,我尝试在 blogContent.html 上选择一些文本并突出显示它。
为了获取所选文本,我正在尝试执行类似的操作
Template.blogContent.onRendered(function(){
if (window.onSelection) {
var selectedText = window.onSelection().toString();
console.log(selectedText);
}
});
但是,我遇到了两个问题。 1. if block 总是在页面加载时执行,而不会在之后执行,即不在我选择某些文本时执行。 2. 由于(1),console.log 仅在页面加载时在客户端控制台输出一次空字符串,之后没有任何反应。
非常感谢任何指点。我是 webdev 和 Meteor 的新手。非常感谢。
最佳答案
window.onSelection
不是有效的函数或属性。您可能正在考虑 window.getSelection()
。
Meteor 不会重新渲染模板,除非模板内部的数据发生变化,因此 onRendered
函数不会被调用。
这里你想要的是普通的旧式 jQuery ——参见 this question了解如何创建文本选择监听器。
关于javascript - blaze 中 Template.myTemplate.onRenderd() 中的 window.onSelection(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39806064/