相关疑难解决方法(0)

从FF/Webkit中的像素位置创建折叠范围

使用JavaScript,我想从像素位置创建折叠范围,以便在此位置标识的范围之后在文档流中插入新节点.

这可以使用Internet Exporer中的TextRange对象(moveToPoint(x,y)方法)来完成.

我怎么能在FireFox和Webkit中做到这一点?

我可以从document.elementFromPoint(x,y)的位置获取容器元素.但是当位置恰好位于文本节点内时,如何获得有关构建范围所需的文本偏移量的更多信息?

javascript position range

10
推荐指数
3
解决办法
5539
查看次数

在doubleclick上满足

我有一个p带有一些文字的标签,而我正试图制作它,contenteditable但只是双击.当我点击它时,如何防止浏览器将光标放在p上,只有在我双击时才这样做?JQuery的:

    p.dblclick(function(e){
        p.css("cursor", "text");
    })
    .focusout(function(){
        p.css("cursor", "default");
    })
    .click(function(e){
        console.log('focus p');
        e.stopPropagation();
        $("body").focus(); // not stopping Chrome from placing cursor
    });
Run Code Online (Sandbox Code Playgroud)

我可以在contenteditable默认情况下使其成为假,然后将其设为true dbleclick然后执行,p.focus()但这意味着我无法将光标放在我单击的位置.另一方面,我可以在第一次点击后让它满足,然后等待1.5s for dobuleclick,如果没有发生取消它,但如果它发生了,那么内容将是可编辑的,第二次点击将触发将光标放在正确的位置.然而,它不是那么平滑,并且使这些内容可以在这些1秒半内编辑.

有任何想法吗?

回答:如果有人感兴趣,我继续实施计时器方法,因为我认为没有其他办法...这里是代码

var DELAY = 700, clicks = 0, timer = null;
p.focusout(function(){
    p.css("cursor", "default");
    p.prop("contenteditable", false);
})
.click(function(e){
    clicks++;
    p.prop("contenteditable", true);
    if(clicks == 1){
        timer = setTimeout(function() {
            p.prop("contenteditable", false);
            //alert("Single Click");  //perform single-click action
            clicks = 0;             //after action performed, reset counter
        }, …
Run Code Online (Sandbox Code Playgroud)

javascript jquery contenteditable

6
推荐指数
1
解决办法
7472
查看次数

将图片投放到Chrome中的游标中

在Firefox中,如果我将图像从桌面拖到一个可信的字段中,它将作为base64嵌入到HIGHLIGHTED光标位置.

JSFiddle:http://jsfiddle.net/zupa/YrwsS/

现在在Chrome中,图像由浏览器打开(页面加载,尝试同样的小提琴).

感谢HTML5,您可以捕获drop事件,并使用它捕获图像.但是,如果我停止浏览器默认行为,我不知道用户想要丢弃它的位置.

你能建议一个解决方法吗?

javascript drag-and-drop google-chrome contenteditable

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

HTML:块元素中的文本; 获得确切的点击位置

我需要现在就在那里,它包含一个点击只会发生文本HTML块元素:

<div>This is some awesome text</div>
Run Code Online (Sandbox Code Playgroud)

我想获得被点击的信件的位置.限制:无法向div添加其他子项.

任何选择?

html javascript dom jquery-click-event

3
推荐指数
1
解决办法
1568
查看次数

如何从一个点(X 和 Y 坐标)创建范围对象?

我查看了本网站上的其他答案,但发现对我没有任何用处。如果您认为我可能忽略了某些内容,请告诉我!

无论如何,我想根据鼠标位置创建一个范围。我希望它的工作方式与鼠标左键的工作方式完全相同。您在 DOM 中单击,它会放置一个文本光标,您拖动,然后范围对象实时更新选择对象,然后您将获得“选择”。

但是,我找不到让它与任何其他鼠标按钮或键盘键一起使用的方法。

LMB 正在做什么使其具有这种能力?我似乎无法在任何地方找到答案。

有什么建议?

在类似的说明中,是否有可能开发一些可以精确到 DOM 元素 parentNode 的 childNode 中的字符的东西,以便当您将鼠标悬停在控制台上时,该字符显示在控制台中?

javascript jquery dom mouseevent nodes

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