在前段使用JavaScript开发获取鼠标当前位置来计某个功能,如何获取鼠标当前的位置,其实很多人都不知道怎么做,为此我为大家整理推荐了相关的知识,希望大家喜欢。
js设置鼠标位置的方法新建一个html代码页面,在这个html页面找到<body>,然后在这个<body>里创建一个用来显示坐标位置的<div>,并给这个<div>添加一个id。如图
创建<div>的代码:
<div id="point-loc"></div>
使用pageX、pageY获取鼠标当前位置。在<title>标签后面新建一个<script>,创建鼠标移动时获取鼠标当前的位置。如图:
js代码:
<script type="text/javascript">
document.onmousemove = function(e){
var loc = "当前位置 x:"+e.pageX+",y:"+e.pageY
document.getElementById("point-loc").innerHTML = loc
}
</script>
保存html后使用浏览器打开即可看到效果。如图:
4页面所有代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js获取鼠标位置</title>
<script type="text/javascript">
document.onmousemove = function(e){
var loc = "当前位置 x:"+e.pageX+",y:"+e.pageY
document.getElementById("point-loc").innerHTML = loc
}
</script>
</head>
<body>
<div id="point-loc"></div>
</body>
代码1:div 设置contenteditable等于true作为编辑框时的光标位置插入文本/**
*光标位置插入
* 参数1 string 要插入的内容
* 参数2 bool true 插入后选中插入内容,false不选中
**/function pasteHtmlAtCaret(html, selectPastedContent) {
var sel, range
if (window.getSelection) {
// IE9 and non-IE
sel = window.getSelection()
if (sel.getRangeAt &&sel.rangeCount) {
range = sel.getRangeAt(0)
range.deleteContents()
// Range.createContextualFragment() would be useful here but is
// only relatively recently standardized and is not supported in
// some browsers (IE9, for one)
var el = document.createElement("div")
el.innerHTML = html
var frag = document.createDocumentFragment(), node, lastNode
while ( (node = el.firstChild) ) {
lastNode = frag.appendChild(node)
}
var firstNode = frag.firstChild
range.insertNode(frag)
// Preserve the selection
if (lastNode) {
range = range.cloneRange()
range.setStartAfter(lastNode)
if (selectPastedContent) {
range.setStartBefore(firstNode)
} else {
range.collapse(true)
}
sel.removeAllRanges()
sel.addRange(range)
}
}
} else if ( (sel = document.selection) &&sel.type != "Control") {
// IE <9
var originalRange = sel.createRange()
originalRange.collapse(true)
sel.createRange().pasteHTML(html)
if (selectPastedContent) {
range = sel.createRange()
range.setEndPoint("StartToStart", originalRange)
range.select()
}
}
}
代码2:textarea 光标位置插入文本
//JQ 扩展
(function ($) {
$.fn.extend({
insertAtCaret: function (myValue) {
var $t = $(this)[0]
if (document.selection) {
this.focus()
sel = document.selection.createRange()
sel.text = myValue
this.focus()
} else{
if ($t.selectionStart || $t.selectionStart == '0') {
var startPos = $t.selectionStart
var endPos = $t.selectionEnd
var scrollTop = $t.scrollTop
$t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length)
this.focus()
$t.selectionStart = startPos + myValue.length
$t.selectionEnd = startPos + myValue.length
$t.scrollTop = scrollTop
} else {
this.value += myValue
this.focus()
}
}
}
})
})(jQuery)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)