我正在使用jQuery并试图找到一种跨浏览器的方式来获取插入符号<textarea>和input盒子中的插入符号,这样我就可以在这个位置放置一个绝对定位的div.
有一些jQuery插件吗?或者JavaScript代码片段就是这么做的?
我一直在搜索很多,但我找不到一种方法来获取内容可编辑div上插入符号的(X,Y)坐标,网上有很多关于此的内容,但问题没有一个页面我发现根据div的顶部得到坐标,所以我的问题更简单:
如何在一个contenteditable div上得到插入符号的(X,Y)坐标,但是Y坐标必须根据div的顶部而不是从页面可见部分的顶部计算?
注1:我特别需要Y坐标.
注2:我只能使用纯javascript,没有JQUERY.
我的方式:
我没有找到直接的方法来做到这一点,所以作为一种解决方法,我想根据页面的可见部分和Div的隐藏部分获得Y坐标并对结果求和(我正在研究这个但我没有运气!).
我创建了一个contentEditable编辑器,我需要获取光标的像素位置,以便我可以通过它定位菜单.(当用户键入特殊字符串时,菜单会自动打开以显示提示).
除了我不知道如何获得光标的实际像素位置以定位菜单之外,我已经完成了所有工作.我能做的最好的事情是获取光标所在的当前节点,但我仍然不知道光标在这个元素的"内".
? I can get the position of this div easily enough
<div>I am typing a message |</div>
? But I need the position of the cursor here
Run Code Online (Sandbox Code Playgroud)
编辑:我可以确认使用范围就像在textarea中一样也适用于ContentEditable.
我是javascript的新手,试图执行:
document.selection.createRange();
Run Code Online (Sandbox Code Playgroud)
但document.selection总是回来 undefined.
我正在使用最新版本的chrome.
我究竟做错了什么?
谢谢!
我有一个带有一些基本html的UIWebView,它可以作为一个简单的编辑器.
// in initWithFrame: of UIView subclass.
_editorHTML = [@"<!doctype html>"
"<html>"
"<head>"
"<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">"
"<style type=\"text/css\">"
"#content { font-family:Arial, Helvetica, sans-serif; font-size:1em; } "
"</style>"
"<script type=\"text/javascript\">"
"function load()"
"{"
" window.location.href = 'ready://' + document.body.offsetHeight;"
"}"
"</script>"
"</head>"
"<body id=\"bodyDiv\" onload=\"load()\">"
"<div id=\"content\" contenteditable=\"true\">%@</div>"
"</body>"
"</html>" retain];
_webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)];
_webView.delegate = self;
_webView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
_webView.scrollView.bounces = NO;
[_webView loadHTMLString:[NSString stringWithFormat:_editorHTML, @""] baseURL:[NSURL fileURLWithPath:directory]];
- (BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest …Run Code Online (Sandbox Code Playgroud)