鉴于此HTML代码:
<div contenteditable>
....
<span> child-element </span>
....
</div>
Run Code Online (Sandbox Code Playgroud)
当用户点击SPAN元素上(为了把里面的尖号),然后在键盘上按下一个字符键(以编辑SPAN元素的文本内容),一个keydown,keypress和keyup事件会被解雇.
但是,target那些相应事件对象的属性不是 SPAN元素,而是DIV元素本身.
现场演示:(也在jsFiddle上)
$('div').keydown(function(e) {
alert( e.target.nodeName );
});Run Code Online (Sandbox Code Playgroud)
div { border:2px solid red; padding:10px; margin:10px; }
span { background-color:yellow; }Run Code Online (Sandbox Code Playgroud)
<div contenteditable>
BEFORE
<span>SPAN</span>
AFTER
</div>
<p>
Click on the yellow SPAN element (to place the caret inside it), and then press a character key (to change the text-content of the SPAN element). The alert-box shows that …Run Code Online (Sandbox Code Playgroud)我有一个页面上有博客文章.人们可以选择本文的一部分,我想存储他们选择的部分,但不仅仅是屏幕上的文本,HTML源.
例如,屏幕显示;
Boerboel育种者协会于1983年在Senekal区成立.
完整代码是:
<p>
The Boerboel Breeders Association was <strong>established in 1983</strong> in the Senekal district.
</p>
Run Code Online (Sandbox Code Playgroud)
所以我希望当有人选择"1983年在Senekal区成立"时,它会返回给我的源代码如下:
was <strong>established in 1983</strong> in the Senekal district
Run Code Online (Sandbox Code Playgroud)
我正在使用Javascript和jQuery.
当使用 JavaScript 为 textarea 制作一个简单的 WYSIWYG 编辑器时,我可以检查按钮的当前状态(粗体、斜体、下划线等),如下所示:
document.queryCommandState("bold")
Run Code Online (Sandbox Code Playgroud)
但是,如果我想查看所选文本是否附有链接,我该怎么做(或者是一个更长的过程?)。与“CreateLink”相同的查询(或 queryCommandValue)似乎不起作用。
function selected() {
var selObj = window.getSelection();
}
Run Code Online (Sandbox Code Playgroud)
此函数返回网页中的选定文本.如何返回所选区域的html.这可能与标签<img>和<a>标签有关吗?
以下是功能列表:https://developer.mozilla.org/Special :
Tags?tag = DOM&languageUen
我想创建一个指向我编写的 Web 服务的 URL http://mycoolthing.com,以及一个引用该页面上的文本选择的 #-anchor 。
是否可以在 HTML/JS 中创建引用 Selection 或 RangeObject 的锚点?
我使用JavaScript使用以下代码突出显示了所选文本:
var sel = window.getSelection();
if(!sel.isCollapsed) {
var range = sel.getRangeAt(0);
sel.removeAllRanges();
document.designMode = "on";
sel.addRange(range);
document.execCommand("HiliteColor", false, "#ffffcc");
sel.removeAllRanges();
document.designMode = "off";
}
Run Code Online (Sandbox Code Playgroud)
如何删除突出显示的颜色并恢复文本?
javascript ×6
html ×4
dom ×3
jquery ×2
selection ×2
anchor ×1
execcommand ×1
highlight ×1
text ×1