Остановить поведение SharePoint от перехода к ближайшему полю ввода в режиме редактирования - PullRequest
1 голос
/ 08 марта 2012

SharePoint обычно переходит в ближайшее поле ввода при переходе в режим редактирования на одной странице.Есть ли способ отключить это поведение?

Ответы [ 4 ]

2 голосов
/ 08 марта 2012

Да, вы можете установить для свойства AllowFirstFocus значение false в большинстве FieldControls.http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.basefieldcontrol.allowfirstfocus.aspx

1 голос
/ 15 июня 2012

Мне удалось решить эту проблему, переопределив одну из внутренних функций SharePoints.Это грязный хак, поэтому будьте осторожны, если вы его используете.

ExecuteOrDelayUntilScriptLoaded(function(){
    RTE.PublishingRichTextEditor.setInitialFocusToEditableRegion = function(){};
}, 'SP.UI.RTE.Publishing.js');

Это эффективно отключит автофокус, но может иметь непредвиденные побочные эффекты.Используйте с осторожностью!

Я запускаю код, только если страница находится в режиме редактирования.Я могу определить это, используя код отсюда: https://sharepoint.stackexchange.com/questions/12792/how-do-i-know-if-the-page-is-in-edit-mode-from-javascript

0 голосов
/ 03 января 2018

Ни один из приведенных выше ответов для меня не сработал, я использую SharePoint 2013 и публикую поля Html в макетах страниц.

Пока я не выяснил метод в sp.ui.rte.publishing.js файле и не переписал этот метод ни с чем, как показано ниже:

SP.SOD.executeFunc('sp.ui.rte.publishing.js', 'SP.ClientContext', function () {
   RTE.Canvas.initialFocusOnRichText = function () { };
});

Я не обнаружил никаких ошибок консоли или нежелательного поведения в Rich Html Field после переопределения этой функции, но если кто-то заметит, пожалуйста, оставьте комментарий.

0 голосов
/ 18 июля 2014

Мне удалось предотвратить автофокусировку с помощью следующего кода

This ExecuteOrDelayUntilScriptLoaded(function () { RTE.PublishingRichTextEditor.setInitialFocusToEditableRegion = function () { }; RTE.Canvas.setInitialFocus = function () { }; }, 'sp.ui.rte.publishing.js');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...