3

我想允许用户将图像从网页拖到我的网络应用程序中,然后在应用程序的其他地方存储和使用图像 url。所以我正在创建一个输入字段作为拖动目标。

但由于这允许放置任何可拖动的 Web 对象(如链接),我需要进行一些错误检查。我可以在那里放一个按钮,但如果自动检测到下降会更好。

所以问题是......是否有任何事件处理程序 - 主要在 IE7 和 Firefox3 中支持 - 在删除图像时触发?它只是在现场触发更改事件吗?

4

2 回答 2

1

不,据我所知,没有任何事件会在您下线后立即触发。

这是一个可能的解决方案:

var input = document.getElementById("input");
var lastVal = input.value;

setInterval(function() {
  if (input.value !== lastVal) {
    if (input.value) {
      if ( /\.(jpe?g|gif|bmp|png)(\?.*)?$/.test(input.value) ){
        alert('It\'s an image URL!!!');
      } else {
        alert('Not an image URL...');
      }
    }
    lastVal = input.value;
  }
}, 100);

演示在这里:http: //jsbin.com/izake

注意:似乎某些浏览器 (IE) 不允许您像其他浏览器一样将项目拖放到字段中。从头开始创建一个可能值得 - 页面上的所有内容都是可拖动的......

于 2009-06-20T13:05:50.340 回答
0

拖放后您不会直接获得标准事件(仅在单击文本字段外部之后),但也许您可以使用某种 DragListener ...

要检查 URL 是否为有效图像,最好检查扩展名(JPG、PNG、GIF...)并检查 URL 是否以“file:”开头 - 如果是,则链接到本地图像文件,你应该忽略它。

于 2009-06-20T07:47:54.910 回答