मैंने अभी एक स्क्रिप्ट लिखी है जो आपको इसे प्राप्त करने देती है। यह आपको दो वैश्विक कार्य देता है: hasEvent(Node elm, String event)
और getEvents(Node elm)
जिसका आप उपयोग कर सकते हैं। ध्यान रखें कि यह EventTarget
प्रोटोटाइप विधि add/RemoveEventListener
संशोधित करता है, और elm.on_event = ...
के HTML मार्कअप या जावास्क्रिप्ट सिंटैक्स के माध्यम से जोड़े गए ईवेंट के लिए काम नहीं करता है, केवल add/RemoveEventListener
के लिए काम करता है।
More info at GitHub
Live Demo
स्क्रिप्ट:
var hasEvent,getEvents;!function(){function b(a,b,c){c?a.dataset.events+=","+b:a.dataset.events=a.dataset.events.replace(new RegExp(b),"")}function c(a,c){var d=EventTarget.prototype[a+"EventListener"];return function(a,e,f,g,h){this.dataset.events||(this.dataset.events="");var i=hasEvent(this,a);return c&&i||!c&&!i?(h&&h(),!1):(d.call(this,a,e,f),b(this,a,c),g&&g(),!0)}}hasEvent=function(a,b){var c=a.dataset.events;return c?new RegExp(b).test(c):!1},getEvents=function(a){return a.dataset.events.replace(/(^,+)|(,+$)/g,"").split(",").filter(function(a){return""!==a})},EventTarget.prototype.addEventListener=c("add",!0),EventTarget.prototype.removeEventListener=c("remove",!1)}();
स्रोत
2015-06-10 10:39:22
वहाँ jQuery के लिए कुछ इस तरह है। फायरबग के लिए यह एक विस्तार है जिसे इसे फायरक्वरी कहा जाता है: http://firequery.binaryage.com/ लेकिन मुझे नहीं पता कि यह मूल जावास्क्रिप्ट घटनाओं के लिए भी काम करता है या नहीं। – meo
एचएम ... यह पहला कदम है ... शायद इसे इस्तेमाल करने के लिए समय चाहिए – helle