Как получить доступ к событию onresize из веб-части SharePoint? - PullRequest
0 голосов
/ 01 июня 2009

У меня есть некоторый JavaScript, который будет выполняться в веб-части SharePoint. Я хотел бы, чтобы функция выполнялась при изменении размера окна. Обычно я бы использовал

<html>
  <body onresize="resizeFunction();">
  </body>
</html>

но в SharePoint все становится волосатым. У меня есть функция загрузки, которую я могу использовать таким образом:

_spBodyOnLoadFunctionNames.push('myFunctionName');

и выполняется в событии onLoad. Есть ли что-то подобное для onResize событий?

Ответы [ 2 ]

2 голосов
/ 01 июня 2009

Вы можете рассмотреть возможность использования внешней библиотеки JavaScript, такой как jQuery или прототип и т. Д.

Например, в jQuery вы можете попробовать (непроверенный код !!)

$("window").bind("resize", "myFunctionName");

JQuery документы: http://docs.jquery.com/Events/bind

информация об использовании jQuery в SharePoint: http://weblogs.asp.net/jan/archive/2008/11/20/sharepoint-2007-and-jquery-1.aspx

EDIT: Если вы не хотите использовать внешнюю библиотеку, при загрузке документа запустите функцию, которая присоединяет другую функцию к событию resize. Что-то вроде:

_spBodyOnLoadFunctionNames.push(function() {
    window.onresize = function() {
         /* resize code here */
    }});

Конечно, вы можете использовать именованные функции.

РЕДАКТИРОВАТЬ 2: Определение ваших событий, как указано выше (window.onresize =) подходит только для одного события. Таким образом, если несколько обработчиков событий указаны одинаковым образом для одного и того же события на одной и той же странице, какой из них указан, последний «выигрывает». «Правильный» способ сделать это - подключить обработчик событий, и самый простой способ сделать это - через библиотеку, поскольку они прозрачно обрабатывают различия между браузерами.

1 голос
/ 13 ноября 2009
$(window).resize(function(){                
        alert("Ya its workingggg")  ;       
});
...