Я обычно использую:
var list = new List<T> ();
fillList (list);
var randomizedList = new List<T> ();
var rnd = new Random ();
while (list.Count != 0)
{
var index = rnd.Next (0, list.Count);
randomizedList.Add (list [index]);
list.RemoveAt (index);
}
Невозможно. Однако вы можете использовать тот же подход в учебнике, чтобы сохранить позицию в глобальной переменной и прочитать ее вне события.
Вот так:
jQuery(document).ready(function(){
$().mousemove(function(e){
window.mouseXPos = e.pageX;
window.mouseYPos = e.pageY;
});
})
Теперь вы можете использовать window.mouseXPos
и ] window.mouseYPos
откуда угодно.
Это началось как комментарий к ответу Четана Састри , но я понял, что в качестве ответа также стоит написать:
Я был бы осторожен с уровнем документа, постоянно повторяющимся событием mousemove
, даже если вы опрашиваете только о позиции курсора. Это большая обработка и может загромождать любой браузер, особенно медленный, как IE.
Такая проблема почти наверняка поднимает вопрос о конструктивном решении: если вам не нужно обрабатывать событие мыши для опроса позиции курсора, действительно ли вам нужна позиция курсора? Есть ли лучший способ решить проблему, которую вы пытаетесь решить?
Правка: даже в Safari 4, что (преуменьшение) очень быстро , это единственное событие mousemove
делает каждое взаимодействие с этой страницей руководства заметно нестабильным для меня. Подумайте, как это повлияет на отношение пользователей к вашему сайту или приложению.