{"version":"1.0","provider_name":"\u0427\u0443\u0434\u043e{\u0432\u0438\u0449\u043d\u044b\u0435} \u0437\u0430\u043c\u0435\u0442\u043a\u0438","provider_url":"https:\/\/miracle.rpz.name","author_name":"MiRacLe","author_url":"https:\/\/miracle.rpz.name\/author\/miracle\/","title":"\u041e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435 jQuery \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c","html":"\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434 \u043d\u0435\u0441\u0451\u0442\u0441\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u044b\u043c \u043f\u043e\u0435\u0437\u0434\u043e\u043c, \u0432 \u043e\u043a\u043d\u0430\u0445 \u043c\u0435\u043b\u044c\u043a\u0430\u044e\u0442 es6, <del>es7<\/del> es2015, react, redux \u0438 \u043a\u0443\u0447\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432. \u0418 \u043d\u0435 \u0432\u0435\u0437\u0434\u0435 \u044d\u0442\u043e\u0442 \u043f\u043e\u0435\u0437\u0434 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u041d\u043e \u043d\u0430 \u0441\u0442\u0430\u043d\u0446\u0438\u044f\u0445 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043f\u043e\u043b\u043d\u043e ...jQuery.\r\n\r\n\u0418 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u043e\u0441\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u044c \"\u0447\u0443\u0436\u043e\u0439\" \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u044f (\u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u043f\u0443\u0441\u0442\u044c \u0431\u0443\u0434\u0435\u0442 onClick) \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \"\u0447\u0443\u0436\u0438\u043c\" \u043d\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d:\r\n<pre class=\"javascript\">\r\njQuery('element').bind('click', function() {\r\n   if (checkIt()) {\r\n      doIt();\r\n   }\r\n});\r\n<\/pre>\r\n\u0412 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a checkIt() \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e <em>\u043f\u043e\u0437\u0432\u0430\u0442\u044c<\/em>\u00a0\u0435\u0449\u0451 \u0438 testIt().\r\n\r\n\u0412 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0438 \u0437\u0430\u0434\u0430\u0447\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u043e\u0439:\r\n<pre class=\"javascript\">\r\n\/\/ editable \"original\"\r\nfunction clickHandler(event) {\r\n   if (checkIt()) {\r\n      doIt();\r\n   }\r\n}\r\njQuery('element').bind('click', clickHandler);\r\n\r\n\/\/ custom code\r\n\r\njQuery('element').unbind('click').bind(function(e) {\r\n  if (testIt()) {\r\n     clickHandler(e);\r\n  }\r\n});\r\n<\/pre>\r\n\u041d\u043e \"\u0447\u0443\u0436\u043e\u0439\" \u043a\u043e\u0434 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0430\u043d\u043e\u043d\u0438\u043c\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439. \u041a\u0430\u043a \u0434\u043e \u043d\u0435\u0451 \u0434\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f ?\r\n\r\n\u0411\u0435\u0433\u043b\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u043c jQuery \u043f\u043e\u043c\u043e\u0433 \u043d\u0430\u0439\u0442\u0438 \u043d\u0435\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 <strong>jQuery._data<\/strong>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0441\u043a\u0440\u044b\u0442\u044b\u0445 \u0432 \u0435\u0433\u043e \u043d\u0435\u0434\u0440\u0430\u0445 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441\u043e\u0431\u044b\u0442\u0438\u044f. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f:\r\n<blockquote>_Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)<\/blockquote>\r\n\u0432 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0435\u0439 \u043c\u0435\u043d\u044f \u0432\u0435\u0442\u043a\u0435 1.xx, \u043c\u0435\u0442\u043e\u0434\u044b (\u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u043c) \u043f\u0435\u0440\u0435\u043a\u043e\u0447\u0435\u0432\u0430\u043b\u0438 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u0441\u0438\u044e 3.1, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u044f \u0431\u0435\u0437 \u0440\u0438\u0441\u043a\u0430 \u0438 \u0441\u0442\u0440\u0430\u0445\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0438\u0445 \u0438 \u0434\u0430\u0436\u0435 \u043f\u043e\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0432\u0430\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043d\u043e \u0432\u0441\u0451 \u0436\u0435 \u043d\u0430 \u0432\u0430\u0448 \u0441\u0442\u0440\u0430\u0445 \u0438 \u0440\u0438\u0441\u043a, \u0432 \u043f\u043e\u0445\u043e\u0436\u0435\u0439 \u043d\u0435\u0431\u0435\u0437\u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438.\r\n\r\n\u0418 \u0442\u0430\u043a \u043a \u0434\u0435\u043b\u0443:\r\n<pre class=\"javascript\">\r\n\/\/ original HARDcode\r\njQuery('element').bind('click', function() {\r\n   if (checkIt()) {\r\n      doIt();\r\n   }\r\n});\r\n\r\n\/\/ custom code\r\nvar originalClickHandler = jQuery._data( element ).events.click[0].handler; \/\/ save handler\r\n\r\njQuery('element')\r\n  .unbind('click') \/\/ remove handler\r\n  .bind('click', function(e) {\r\n    if (testIt()) { \/\/ wrap old handler with custom logic\r\n      originalClickHandler(e)\r\n    }\r\n  });\r\n\r\n<\/pre>\r\n\u0411\u0443\u0434\u0443 \u043d\u0430\u0434\u0435\u044f\u0442\u0441\u044f \u0447\u0442\u043e \u0442\u0430\u043a\u0438\u043c \u0447\u0443\u0434\u043e{\u0432\u0438\u0449\u043d\u044b\u043c} \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u043d\u0438\u043a\u043e\u043c\u0443 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f.","type":"rich"}