A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本篇文章将给大家介绍关于JavaScript实现网页中指定区域的超链接转换为URL的方法,下面我们来看具体的内容。

话不多说,我们直接来看下面的示例

代码如下

DropHyperLink.css

1
2
3
4
5
6
7
8
9
10
11
.dropArea {
    margin-top:8px;   
    margin-bottom:8px;   
    width:320px;   
    height:64px;   
    background-color:#fff2a7;   
    border: 1px solid #ff6a00;
}
.longTextBox{
    width:80%;
}

DropHyperLink.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
  <link rel="stylesheet" href="DropHyperLink.css" />
  <script type="text/javascript">
    function load() {
          var droparea = document.getElementById('LinkDropArea');
      droparea.addEventListener('dragover', onDragOver, false);
      droparea.addEventListener('drop', onDrop, false);
    }   
    function onDragOver(event) {      //event.stopPropagation();
      event.preventDefault();
      event.dataTransfer.dropEffect = 'link';
    }   
    function onDrop(event) {
          var url = event.dataTransfer.getData("text");      
          var textBox = document.getElementById('OutputTextBox');
      textBox.value = url;
    }  
  </script>
</head>
<body onload="load();">
  <div id="LinkDropArea" class="dropArea">把超链接拖到这里</div>
  <input id="OutputTextBox" class="longTextBox" type="text"/>
</body>
</html>

说明:

可以在ID = LinkDropArea的div框中打开网页浏览器的链接。要接受drop,要对框架的元素进行dragode事件处理。在事件处理过程中,调用preventDefault()并阻止未接收默认拖动的操作。同时将其设置为dataTransfer.dropEffect。drop事件处理程序还调用dataTransfer.getData(“text”)方法来获取元素的文本数据。在链接的情况下,在链接的情况下,存储的元素的文本数据中存储了链接的URL。获取的URL的字符串将显示在屏幕底部的文本框中。

运行结果

然后准备另一个Web浏览器窗口,拖动Web浏览器上显示的页面中的超链接,并将其放在页面上的拖放区域中。

比如拖动“前端开发”,那么结果如下图所示

【转载】仅作分享,侵删

链接:http://www.php.cn/js-tutorial-413497.html


3 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马