3

ユーザーが Web ページから Web アプリに画像をドラッグし、その画像 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 に答える