10.09.2013, 14:03 | #1 |
Участник
|
GetGlobalContext и ее onselectstart, contextmenu, and ondragstart events
Зашел в тупик
В своем веб-ресурсе подключил GetGlobalContext, а от в свою очередь _common/global.ashx. Так вот в этой библиотеке есть обработчики событий onselectstart, contextmenu, и ondragstart. Меня больше всего волнует вот этот onselectstart Код: Mscrm.GlobalEvents.$5T=function($p0){var $v_0=$p0.target;if(!$v_0.tagName||typeof $v_0.className!="string")return;var $v_1=$v_0.tagName.toUpperCase();!Mscrm.GlobalEvents.$7E()&&$v_1!=="INPUT"&&$v_1!=="TEXTAREA"&&!($v_1==="DIV"&&Sys.UI.DomElement.containsCssClass($v_0,"ms-crm-Lookup"))&&!Sys.UI.DomElement.containsCssClass($v_0,"ms-crm-Field-Data-Print")&&!Sys.UI.DomElement.containsCssClass($v_0,"ms-crm-Field-Label-Print")&&!Sys.UI.DomElement.containsCssClass($v_0,"ms-crm-Tab-Print")&&!Sys.UI.DomElement.containsCssClass($v_0,"ms-crm-Form-Section-Print")&&!Sys.UI.DomElement.containsCssClass($v_0,"ms-crm-Form-Print")&&$p0.preventDefault()};Mscrm.GlobalEvents.$7E=function(){if(typeof _UI_TEXT_SELECTABLE!="undefined"&&_UI_TEXT_SELECTABLE==="1")return true;return false}; Код: Mscrm.GlobalEvents.$$cctor=function(){$addHandler(document,"keypress",Mscrm.GlobalEvents.$3Y);$addHandler(document,"keydown",Mscrm.GlobalEvents.$3Y);$addHandler(document,"selectstart",Mscrm.GlobalEvents.$5T);$addHandler(document,"dragstart",Mscrm.GlobalEvents.$5S);$addHandler(document,"unload",Mscrm.GlobalEvents.$5U);$addHandler(document,"contextmenu",Mscrm.GlobalEvents.$5R)}; На msdn написано чтобы это отключить надо Цитата:
The ClientGlobalContext.js.aspx page will include some global event handlers. These event handlers will cancel the onselectstart, contextmenu, and ondragstart events.
Любое его удаление и переопределение ничего не дает. SelectStart как блокировал выделение так и блокирует. Как отменить блокировку выделения ? |
|
10.09.2013, 14:21 | #2 |
Участник
|
Порылся еще и нашел что события собраны в document._events
Там есть такое событие как unload, а вот как его вызвать или имитировать хз На этом событии завешена функция Mscrm.GlobalEvents.$5U которая и отключает события от document Код: Mscrm.GlobalEvents.$5U=function($p0){ $removeHandler(document,"keypress",Mscrm.GlobalEvents.$3Y); $removeHandler(document,"keydown",Mscrm.GlobalEvents.$3Y); $removeHandler(document,"selectstart",Mscrm.GlobalEvents.$5T); $removeHandler(document,"dragstart",Mscrm.GlobalEvents.$5S); $removeHandler(document,"unload",Mscrm.GlobalEvents.$5U); $removeHandler(document,"contextmenu",Mscrm.GlobalEvents.$5R) }; |
|