javascript - dragend on background stopPropagation does not work in Chrome 36 -
इस उदाहरण पर विचार करें:
& lt;! DOCTYPE html & gt; & LT; html & gt; & Lt; शीर्ष & gt; & Lt; मेटा वर्णसेट = "यूटीएफ -8" & gt; & Lt; title & gt; सैंडबॉक्स & lt; / title & gt; & Lt; स्क्रिप्ट src = "http://d3js.org/d3.v3.min.js" & gt; & lt; / स्क्रिप्ट & gt; & Lt; / head & gt; & LT; बॉडी & gt; & Lt; div id = "vis" & gt; & lt; / div & gt; & LT; स्क्रिप्ट & gt; Var svg = d3.select ("# vis") शैली ({स्थिति: "निश्चित", चौड़ाई: "100%", ऊंचाई: "100%"}) .append ("svg")। शैली ({मार्जिन: "3%", सीमा: "1px ठोस #aaa"}) .attr ("दृश्य बॉक्स", "0 1000 1000") svg.on ("क्लिक करें", फ़ंक्शन (डी, आई) {console.log ("क्लिक करें" ") यदि (d3.event.defaultPrevented) वापसी console.log (" के माध्यम से गिर गया क्लिक करें ")}) svg.append (" rect ") .attr (" x ", 0) .attr (" y ", 0)। Attr ("width", "50%")। Attr ("height", "50%") .कॉल (d3.behavior.drag () .on ("dragstart", फ़ंक्शन (d) {console.log (" Dragstart ") d3.event.sourceEvent.stopPropagation () / d3.event.sourceEvent.preventDefault ()})) & lt; / script & gt; & Lt; / body & gt; & Lt; / html & gt;
आयत पर एक खींचें प्रारंभ करें और पृष्ठभूमि पर खींचें समाप्त करें क्रोम 36 में, बैकग्राउंड क्लिक को दबाया नहीं गया और रोका नहीं गया। यह वही नहीं है जो मुझे उम्मीद है और न कि फ़ायरफ़ॉक्स 31 क्या करता है क्या कोई ब्राउज़र के व्यवहार में अंतर को समझा सकता है और क्रोम के लिए एक समाधान प्रदान कर सकता है?
इसके अलावा: चाहे मैं रोकता हूं () या न तो ब्राउज़र में कोई फर्क नहीं पड़ता। ऐसा क्यों है?
Comments
Post a Comment