2011-09-13 7 views
7

मैं एचटीएमएल 5 फ़ाइल एपीआई के साथ प्रयोग कर रहा हूँ। हालांकि मुझे पता है कि ब्राउज़र में डिफ़ॉल्ट व्यवहार होता है, जहां आप छवि को ब्राउज़र में खींचते हैं तो वे एक छवि प्रदर्शित करते हैं। हालांकि, यदि आपका उद्देश्य छवि को अपलोड करने के बजाय अपलोड करना है तो यह परेशान हो सकता है।किसी फ़ाइल सिस्टम छवि को ब्राउज़र में खींचने को अक्षम करें।

मैं अगर वहाँ इस व्यवहार को रोकने का एक तरीका है सोच रहा हूँ? मैं एक ondrop घटना है जो कुछ हद तक काम करता है पर stopPropagation/preventDefault की कोशिश की है, फिर भी धारणा है कि छवि पृष्ठ पर कहीं भी छोड़ा जा सकता है दे रही है जगह में "ड्रॉप" कर्सर छोड़ देता है।

आदर्श रूप में आप केवल निर्धारित क्षेत्र जहां छवियों छोड़ा जा के लिए होती हैं पर "ड्रॉप" कर्सर देखना होगा।

उत्तर

13

DataTransfer वस्तु dropEffect और effectAllowed गुण है। बिल्कुल यकीन नहीं है कि उनके बीच क्या अंतर है, लेकिन दोनों को 'none' पर सेट करना चाहिए।

$(document).bind({ 
    dragenter: function (e) { 
     e.stopPropagation(); 
     e.preventDefault(); 
     var dt = e.originalEvent.dataTransfer; 
    dt.effectAllowed = dt.dropEffect = 'none'; 
    }, 
    dragover: function (e) { 
     e.stopPropagation(); 
     e.preventDefault(); 
     var dt = e.originalEvent.dataTransfer; 
     dt.effectAllowed = dt.dropEffect = 'none'; 
    } 
}); 

http://jsfiddle.net/andreymir/H3RR7/embedded/result/ देखें - ड्रॉप को केवल आयत की अनुमति है।

0

शायद यह आप के लिए क्या देख रहे है? मैंने इसे खुद बनाया है।

http://rightandrong.info/html5upload/Upload.html

+0

इस कर्सर मुद्दे के समाधान नहीं है, जिस तरह से - a.js पर एक नज़र और घटनाओं बुलाया ले। – tekknolagi

संबंधित मुद्दे