| 1 |
!function(a){"use strict";a.fn.execute_triggers=function(b){b=a.extend({element:this,ux:{},timers:{},debug:!1},b);var c=this.log=function(a,c){b.debug&&window.console&&console.debug&&("error"===c?console.error(a):console.log(a))},d=(this.enable=function(){c("execute_triggers::enable()"),a(b.element).each(function(){"undefined"!=typeof a(this).attr("execute_once")?a(this).one("click",function(a){d(a)}):a(this).unbind("click").bind("click",function(a){d(a)})})},this.execute_triggers=function(b){c("execute_triggers::execute_triggers()"),b.preventDefault();var d=a.extend(!0,{position:[b.clientX,b.clientY],attributes:{},element:b.currentTarget,triggers:a(b.currentTarget).attr("execute_triggers")},b);"undefined"!=typeof d.triggers&&""!=d.triggers&&(a.each(d.element.attributes,function(a,b){d.attributes[b.name]=b.value}),d.triggers=d.triggers.split(","),a.each(d.triggers,function(b,c){d.triggers[b]=a.trim(c)}),a.each(d.triggers,function(b,c){d.this_trigger_count=b,a(document).trigger(c,d)}))});return this.enable(),this}}(jQuery); |