原生态js,鼠标按下后,经过了那些单元格的简单实例


Posted in Javascript onAugust 11, 2016

本来是要判断那些单元格被选中,结果发现行不通,只能判断鼠标按下后,经过了那些单元格

之所以发出来,是觉得案例还有很多有意思的地方

onmouseover  的持续触发,导致了很多重复元素

由于将事件绑定在整个table上,还出现了undefined

鼠标的反复进入进出,会导致相同元素的断断续续的重复,

如何解决他们!

<table border="1" id="dnf"> 
  <tr> 
     
     
    <td rowspan="2">2</td> 
    <td>2</td> 
    <td>4</td> 
  </tr> 
  <tr> 
     
     
    <td>2</td> 
    <td>4</td> 
  </tr> 
</table>
window.onload = function() 
{ 
  var flag = false;<BR>
 //当鼠标被按下时,为true,放开是为true 
  var indexs =[];<BR>


//用来存放鼠标经过的单元格在整个表格的位置,鼠标按下时被初始化, 
  dnf.onmousedown = function() 
  { 
    flag = true; 
    indexs = []; 
  } 
  dnf.onmousemove = function(e) 
  { 
    if(flag)//只有鼠标被按下时,才会执行复合代码 
    { 
      indexs.push(search(e.target,dnf.getElementsByTagName("td")))   
    } 
  } 
  dnf.onmouseup = function() 
  { 
    flag = false; 
    deleteUndefined();//由于会经过边框,所以会出现null元素 
    deleteRepaint();//由于onmouseover不会只触发一次,且我们选择是可能反复经过一个单元格 
    alert(indexs); 
  } 
  function deleteRepaint() 
  { 
    for(var j=0;j<indexs.length;j++)//保证第j个元素是唯一的 
    { 
      var head = indexs[j]; 
      for(var i=j+1;i<indexs.length;i++)//删除与第j个重复的 
      { 
        if(head == indexs[i]) 
        { 
          indexs.splice(i,1); 
          i--; 
        } 
      } 
    } 
  } 
  function deleteUndefined() 
  { 
     
    for(var i=0;i<indexs.length;i++) 
    { 
      if(typeof indexs[i] == "undefined") 
      { 
        indexs.splice(i,1); 
        i--; 
      } 
    } 
     
  } 
  function search(a,A) 
  { 
    var length = A.length; 
     
    for(var i=0;i<length;i++) 
    { 
       
      if(a == A[i]) 
      { 
       
        return i; 
      } 
       
    } 
  } 
} 
</script>

以上这篇原生态js,鼠标按下后,经过了那些单元格的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
Mar 22 Javascript
基于jquery的图片的切换(以数字的形式)
Feb 14 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
Aug 06 Javascript
js动态设置div的值下例子
Oct 29 Javascript
js动态删除div元素基本思路及实现代码
May 08 Javascript
javascript解析json实例详解
Nov 05 Javascript
封装了jQuery的Ajax请求全局配置
Feb 05 Javascript
使用JavaScript实现连续滚动字幕效果的方法
Jul 07 Javascript
Angularjs中如何使用filterFilter函数过滤
Feb 06 Javascript
angular源码学习第一篇 setupModuleLoader方法
Oct 20 Javascript
JS实现搜索关键词的智能提示功能
Jul 07 Javascript
vue 实现边输入边搜索功能的实例讲解
Sep 16 Javascript
vue分页组件table-pagebar使用实例解析
Nov 15 #Javascript
使用BootStrap实现用户登录界面UI
Aug 10 #Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
Aug 10 #Javascript
BootStrap Typeahead自动补全插件实例代码
Aug 10 #Javascript
BootStrap中Datepicker控件带中文的js文件
Aug 10 #Javascript
JS获取鼠标选中的文字
Aug 10 #Javascript
浅析JavaScript函数的调用模式
Aug 10 #Javascript
You might like
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
JavaScript 面向对象编程(2) 定义类
2010/05/18 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
js实现鼠标点击左上角滑动菜单效果代码
2015/09/06 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
安装vue-cli的简易过程
2018/05/22 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
2014/08/15 Python
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
python实现雨滴下落到地面效果
2018/06/21 Python
Django-simple-captcha验证码包使用方法详解
2020/11/28 Python
HTML5页面无缝闪开的问题及解决方案
2020/06/11 HTML / CSS
SIMON MILLER官网:洛杉矶的生活方式品牌
2020/10/19 全球购物
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
九年级体育教学反思
2014/01/23 职场文书
打造完美自荐信
2014/01/24 职场文书
应聘英语教师求职信
2014/04/24 职场文书
应届毕业生自荐信
2014/05/28 职场文书
小学社团活动总结
2014/06/27 职场文书
12.4法制宣传日标语
2014/10/08 职场文书
2014年幼师工作总结
2014/11/22 职场文书
设备技术员岗位职责
2015/04/11 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python
Python使用pandas导入xlsx格式的excel文件内容操作代码
2022/12/24 Python