dragenter(e) { console.log(e.target,333333333); let tar = e.target; while (tar){ if (tar.dataset && tar.className.indexOf('col') !== -1){ break; } else { tar = tar.parentElement; } } if (tar) { let params = tar.dataset; $('#allScheduleTimetable .tr2 th').removeClass('mosehover'); $('#allScheduleTimetable .tr2 th').eq(params.rowIndex * 1 * this.lessons.length + params.colIndex * 1).addClass('mosehover'); $('#allScheduleTimetable .first-col').removeClass('mosehover'); $('#allScheduleTimetable .first-col').eq(+params.classIndex).addClass('mosehover'); this.$emit("changeIndex",{ colIndex:params.colIndex*1, classIndex:params.classIndex*1, rowIndex:params.rowIndex*1 }) } }, 解读代码
时间: 2024-02-15 16:27:13 浏览: 150
完整版文件拖放例程.e.rar
这段代码是一个事件处理函数,处理的是拖动进入元素的事件。当有元素被拖动进入时,首先会打印出事件对象 `e` 的目标元素,并且会定义一个变量 `tar` 并将其初始化为目标元素。接下来,使用一个 `while` 循环判断 `tar` 是否存在 `dataset` 属性并且类名中是否包含 `col`,如果成立则退出循环,否则将 `tar` 设置为其父元素。如果找到了符合条件的元素,则会获取该元素的 `dataset` 属性,并根据其 `rowIndex`、`colIndex` 和 `classIndex` 值来设置相应元素的类名,以达到高亮显示的效果。最后,通过 `$emit` 方法触发一个名为 `changeIndex` 的自定义事件,并传递了一个对象作为参数,该对象包含了 `colIndex`、`classIndex` 和 `rowIndex` 三个属性的值。
阅读全文