拖拽时鼠标相关问题

dongshanyu 2016-02-04 05:45:42
IE8下执行拖拽操作,希望达到以下效果:
1.拖拽时鼠标左键不释放,进入目标区域,把光标修改手型光标
2.在目标区域里,鼠标左键释放,做一些数据处理
3.离开后光标还原

代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>test</title>
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<script language="javascript">
function itemOnDrag(obj) {
sItemValue = obj.value;
sItemText = obj.innerHTML;
}

function listOnMouseOver(obj) {
if (typeof (sItemValue) == "undefined" || sItemValue == null) return;
if (typeof (sItemText) == "undefined" || sItemText == null) return;
if (sItemValue != "" && sItemText != "") {
obj.style.cursor = 'hand';
obj.style.background = "lightyellow";
var bFind = false;
for(var i=0;i<obj.options.length-1;i++) {
if (obj.options[i].value == sItemValue){
obj.options[i].selected = true;
bFind = true;
break;
}
}
if (!bFind) {
var op = new Option(sItemValue, sItemText);
obj.options.add(op);
op.selected = true;
}
sItemValue = "";
sItemText = "";
}
}

function listOnMouseOut(obj){
obj.style.cursor = 'default';
obj.style.background = "lightgreen";
}
</script>
</head>
<body MS_POSITIONING="GridLayout">
<table id="tbSource" width="width:200px" border="1" cellspacing="0" cellpadding="0">
<tr>
<td align="left">
<a href="#" ondrag="itemOnDrag(this);" title="Jimmy" value="Jimmy">Jimmy</a>
</td>
</tr>
<tr>
<td align="left">
<a href="#" ondrag="itemOnDrag(this);" title="Young" value="Young">Young</a>
</td>
</tr>
<tr>
<td align="left">
<a href="#" ondrag="itemOnDrag(this);" title="Boddle" value="Boddle">Boddle</a>
</td>
</tr>
<tr>
<td align="left">
<a href="#" ondrag="itemOnDrag(this);" title="Helen" value="Helen">Helen</a>
</td>
</tr>
<tr>
<td align="left">
<a href="#" ondrag="itemOnDrag(this);" title="Lucy" value="Lucy">Lucy</a>
</td>
</tr>
<tr>
<td align="left">
<a href="#" ondrag="itemOnDrag(this);" title="Alica" value="Alica">Alica</a>
</td>
</tr>
</table>
<SELECT style="Z-INDEX: 101; POSITION: absolute; WIDTH: 120px; HEIGHT: 136px; TOP: 16px; LEFT: 136px"
id="lstTarget" size="8" name="lstTarget"
onmouseover="listOnMouseOver(this);" onmouseout="listOnMouseOut(this);"

>
</SELECT>
</body>
</html>





...全文
168 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2016-02-15
  • 打赏
  • 举报
回复
引用 4 楼 dongshanyu 的回复:
>没看到问题是什么 拖拽时鼠标左键不释放,进入目标区域,显示的是"禁止"光标,不知道使用什么事件来处理
IE11文档模式改为ie8没出现你说的问题。可以用easyui的drag/drop,兼容大部分浏览器,你的只能ie跑 http://www.jeasyui.com/demo/main/index.php?plugin=Droppable&theme=default&dir=ltr&pitem=
丰云 2016-02-14
  • 打赏
  • 举报
回复
去javacript专区提问比较合适
dongshanyu 2016-02-14
  • 打赏
  • 举报
回复
>没看到问题是什么 拖拽时鼠标左键不释放,进入目标区域,显示的是"禁止"光标,不知道使用什么事件来处理
dongshanyu 2016-02-14
  • 打赏
  • 举报
回复
>这是js的事情,和c#无关 的确,这是JS事情,与ASP.NET的关系不大
dongshanyu 2016-02-14
  • 打赏
  • 举报
回复
> 你想拖拽什么呢 把表格tbSource中的数据,通过拖拽的方式,添加到列表lstTarget中,你可以把上述代码保存到一个htm文件中在IE中试试
杨小事er 2016-02-14
  • 打赏
  • 举报
回复
你想拖拽什么呢,
Justin-Liu 2016-02-05
  • 打赏
  • 举报
回复
没看到问题是什么
xdashewan 2016-02-05
  • 打赏
  • 举报
回复
这是js的事情,和c#无关
今天用vue+原生js的mousemove事件,写了个拖动,发现只能慢慢拖动才行,鼠标只要移动快了,就失效,不能拖动了; 搞了半天在,总算解决了,但是问题的深层原理还没搞清楚,知道的大侠可以留言分享,下面直接上代码: 只能慢速拖动的代码: <!DOCTYPE html> <html> <head> <title>vue结合原生js实现拖动</title> [removed][removed] </head> <body>

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧