相关疑难解决方法(0)

除了XHTML自包含标记之外,RegEx匹配开放标记

我需要匹配所有这些开始标记:

<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)

但不是这些:

<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)

我想出了这个,并希望确保我做对了.我只抓住了a-z.

<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)

我相信它说:

  • 找一个小于,然后
  • 然后,查找(并捕获)az一次或多次
  • 然后找到零个或多个空格
  • 找到任何字符零次或多次,贪婪/,然后
  • 找到一个大于

我有这个权利吗?更重要的是,你怎么看?

html regex xhtml

1323
推荐指数
36
解决办法
270万
查看次数

阻止在ENTER上添加<div> - Chrome

我有一个contenteditable元素,每当我输入一些东西并点击ENTER它创建一个新的<div>并将新的行文本放在那里.我不喜欢这一点.

是否有可能防止这种情况发生或至少只是用一个<br>

这是演示http://jsfiddle.net/jDvau/

注意:这不是firefox中的问题.

html javascript jquery google-chrome contenteditable

112
推荐指数
11
解决办法
8万
查看次数

HTML - DIV内容中的换行符可编辑吗?

我在数据库中存储内容,例如:

Hello
This
is 
Text
Run Code Online (Sandbox Code Playgroud)

当我将它传递给textarea时,它会保留新的换行符.但是,如果我将该文本传递给内容可编辑的div,它将保持如下:

Hello This is Text
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

html css html5 contenteditable

42
推荐指数
3
解决办法
4万
查看次数

通过在contenteditable上按Enter键来创建一个<br>而不是<div> </ div>

我在键盘事件处理程序中编写了一些代码,<br>以便在按下Enter键时插入一个代码:

event.preventDefault();
document.execCommand('InsertHTML', true, '<br>');
Run Code Online (Sandbox Code Playgroud)

这只有在光标在两个字母之间时才有效,如果它在最后我需要两个 - <br>元素.我可以检测到我是否在一条线的末端?或者输入问题的其他一些工作想法?

我还尝试捕捉正常的键事件(按下按下的ctrl-Key)并使用JS创建键盘事件,其中Enter键与ctrl一起按下.但这不起作用......

它只需要在Webkit/Safari中工作......

javascript html5 contenteditable

14
推荐指数
1
解决办法
2万
查看次数

execCommand"insertBrOnReturn"如何工作?

我在Chrome上尝试了以下代码:

document.execCommand("insertBrOnReturn", false, true);
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/uVcd5/

我将最后一个参数设置为true或false,行为不会改变:返回时,<div>将添加新元素.

一定错过了什么......有什么想法吗?

javascript execcommand

9
推荐指数
2
解决办法
6308
查看次数

如何在粘贴“文本/纯文本”时保持换行符?

编辑:不是重复的

事实上,甚至在这里提到并链接了标记为重复的问题。这些问题的标题和目的完全不同。另一个问题的答案之一,可以说是用来回答这个问题的,是出于完全不同的原因(与 IE 的兼容性),并且很难被理解为这个问题的答案。


原问题

我从这个Javascript 技巧中获得了以下代码,用于在 execCommand 中“粘贴为纯文本”

我按预期工作。它给了我纯文本。

但是,虽然我想摆脱所有文本格式,但我只想保留复制文本的换行符?有没有办法修复此代码以实现此行为?

注意:举个例子,我们在 Stack Overflow 上写我们的问题的问题编辑器似乎就是这样工作的。摆脱一切,但尊重换行符。

// ALLOW TEXT ONLY ON PASTE
  function onPaste(e) {
    e.preventDefault();
    // GET TEXT REPRESENTATION OF CLIBOARD DATA
    const text = (e.originalEvent || e).clipboardData.getData('text/plain');
    // INSERT TEXT MANUALLY
    document.execCommand("insertHTML", false, text);
  }
Run Code Online (Sandbox Code Playgroud)

片段

// ALLOW TEXT ONLY ON PASTE
  function onPaste(e) {
    e.preventDefault();
    // GET TEXT REPRESENTATION OF CLIBOARD DATA
    const text = (e.originalEvent || e).clipboardData.getData('text/plain');
    // INSERT …
Run Code Online (Sandbox Code Playgroud)

html javascript

4
推荐指数
1
解决办法
1358
查看次数