chrome js控制可编辑DIV光标移动到最后

针对可编辑div的光标移动,IE比较容易,但是chrome搜索了半天都没找到有效的方法,好像没很好的支持,最后找了,只找到个移动在最后的方法,代码如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试</title>
</head>
<script type="text/javascript">
function keyAction() {
var textbox = document.getElementById('bodyDiv');
var sel = window.getSelection();
var range = document.createRange();
range.selectNodeContents(textbox);
range.collapse(false);
sel.removeAllRanges();
sel.addRange(range);
}
</script>
<body>
<div id="bodyDiv" contenteditable="true" style="width: 100%; height: 100%;" οnkeyup="keyAction(event);">123456789</div>
</body>
</html>

要在Chrome插件中使用可移动div元素,可以使用以下步骤: 1.在插件的popup.html文件中,创建一个div元素,并为其添加一个唯一的ID,以便在JavaScript中引用它。 2.在CSS中,使用“position: absolute”属性将div定位在popup窗口的任何位置。 3.在JavaScript中,使用鼠标事件(mousedown、mousemove、mouseup)来实现拖动功能。当鼠标按下时,记录当前鼠标位置和div位置,然后在鼠标移动时计算新的div位置,并更新div的样式。 以下是一个简单的示例代码,可以帮助你在Chrome插件中实现可移动div元素: popup.html代码: ``` <!DOCTYPE html> <html> <head> <title>My Extension</title> <style> #draggable { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 200px; height: 200px; background-color: #f2f2f2; border: 2px solid #ccc; text-align: center; line-height: 200px; cursor: move; } </style> </head> <body> <div id="draggable">Drag me!</div> <script src="popup.js"></script> </body> </html> ``` popup.js代码: ``` var draggable = document.getElementById('draggable'); var isDragging = false; var mouseX = 0; var mouseY = 0; var boxX = 0; var boxY = 0; draggable.addEventListener('mousedown', function(e) { isDragging = true; mouseX = e.clientX; mouseY = e.clientY; boxX = draggable.offsetLeft; boxY = draggable.offsetTop; }); document.addEventListener('mousemove', function(e) { if (isDragging) { var deltaX = e.clientX - mouseX; var deltaY = e.clientY - mouseY; draggable.style.left = boxX + deltaX + 'px'; draggable.style.top = boxY + deltaY + 'px'; } }); document.addEventListener('mouseup', function(e) { isDragging = false; }); ``` 在以上代码中,我们使用“cursor: move”属性将鼠标指针设置为拖动指针,以便用户知道该元素可以拖动。当用户按下鼠标时,我们记录当前鼠标位置和div的位置。然后,在鼠标移动时,我们计算新的div位置,并使用样式更新div的位置。最后,在鼠标松开时,我们将“isDragging”标志设置为false,以停止拖动。 请注意,在Chrome插件中,我们需要将JavaScript代码单独放在一个popup.js文件中,并在popup.html中引用它。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值