单击Javascript并拖动元素

时间:2016-08-30 12:13:25

标签: javascript html phantomjs mouseevent

我正在使用phantomjs在网站上搜寻和抓取,我来到一个页面,为了预订日历中某个活动的时段,我必须点击,按住鼠标按钮并将鼠标移动到我想要在活动期间占据的所有时间段。这一天是一个表格行,插槽位于表格列中,其中包含随机生成的ID,如下所示;

<tr class="day" id="monday">
    <td class="slot" id="randomly-generated-id">Morning</td>
    <td class="slot" id="randomly-generated-id">Lunch</td>
    <td class="slot" id="randomly-generated-id">Afternoon</td>
    <td class="slot" id="randomly-generated-id">Night</td>
</tr>

我想预订活动的整个一天,在普通的图形浏览器中,这可以通过单击最早的插槽并将鼠标拖过要为此特定事件预订的每个插槽来完成。你会如何在javascript中触发这样的命令? jQuery也可以工作。

1 个答案:

答案 0 :(得分:1)

我分叉了另一个人的解决方案并调整它以满足您的需求但是只能使用除了表格之外的其他任何示例(tr td),请在此处查看:

http://jsfiddle.net/dcantato/fzkgLq6h/

这可以实现你想要的,我个人更喜欢使用div而不是表。 如果重新编写自己的函数,那么你想要从中获取的主要内容是

window.getSelection();

document.selection.createRange();

在这个编写良好的代码中还有一些更复杂的事情,但是从这些构建块中你可以重写它。