Javascript 在控制台中工作,但不在脚本标签内工作.控制台的上下文是什么
Javascript Working in console but not inside script tag... What's the context of the console?
我正在尝试实现浏览器提供的富文本编辑器。以下是 Mozilla 的参考:https://developer.mozilla.org/en/rich-text_editing_in_mozilla
我以前做过这个,它可以在IE/Chrome/Firefox上运行,尽管可能有几个错误。
无论如何,我已经设置了contenteditable=true(通过javascript),现在剩下要做的就是将按钮单击(用于"粗体","斜体"等格式)绑定到document.execCommand()调用。我正在使用jQuery bind()方法执行此操作。
但是当我调用这个函数时没有任何反应,例如:document.execCommand('bold', false, null);
单击回调函数被调用和全部,但 document.execCommand() 被简单地忽略。它不会发出任何类型的错误。但是,如果我选择文本,并从 Javascript 控制台运行相同的命令,无论是在 Chrome 还是 Firefox 中,它都可以工作!文本变为,粗体...
那么为什么它在控制台中工作而不是在我的代码中工作呢?上下文差异是什么?
谢谢
PS:我正在使用HTML "A"标签来格式化按钮(粗体,斜体等)。一旦我用 BUTTON 标签替换它,它就起作用了......对我来说没有多大意义...
听起来像是两个潜在问题之一:
在执行
document.execCommand()
调用之前,选择将丢失。正如您已经观察到的那样,使用按钮而不是链接可以解决此问题。另一种选择是在选择丢失之前存储选择,并在document.execCommand()
调用之前恢复它。或者使用unselectable
属性可能有效。另一个可能的问题是您使用了错误的
document
对象:您需要iframe的文档,而不是主文档中的文档。
- 只有当Javascript控制台在chrome上打开时,Javascript才能工作
- 控制台.log在 setInterval 中无法为 Tampermonkey 工作
- 如何让JavaScript控制台用户输入工作(node.js)
- 当控制台不在't在chrome中打开,有些项目不再可点击(有些js调用停止工作)
- addEventListener工作's,但控制台发送警告
- 登录控制台可以工作,但会立即导致TypeError
- ActiveX 仅在激活 IE 9 控制台时工作
- 无法获得控制台.log在 CasperJS 中评估内部工作
- 火狐插件控制台.log() 不工作
- Chrome - JavaScript 控制台无法正常工作
- JS仅在控制台.log之后工作
- javascript 的 document.getElementById 返回 null,但从控制台工作
- 为什么控制台.log在JSC环境中不起作用,但它可以在Safari的调试控制台中工作
- 我无法让它作为 JavaScript 函数工作(我在控制台时得到我想要的返回值.log但我不能将其作为函数调用)
- Firefox/Firebug JavaScript 控制台.log在某些情况下无法在 for 循环中工作
- ngRoute不工作,但没有向控制台报告错误
- 如何从控制台调用该方法以查看其工作情况
- setTimeout不工作.控制台显示未定义latLng
- 幻灯片停止工作控制台显示没有相关错误?但是这个无关
- Javascript 在控制台中工作,但不在脚本标签内工作.控制台的上下文是什么