js怎么设置鼠标位置

js怎么设置鼠标位置,第1张

在前段使用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)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11122360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存