in Javascript: Есть ли способ проверить, произошло ли событие mouseover для какого-либо элемента?проверить, запущен ли курсор мыши?
Если да, то как?
T
in Javascript: Есть ли способ проверить, произошло ли событие mouseover для какого-либо элемента?проверить, запущен ли курсор мыши?
Если да, то как?
T
Работа с необработанным Javascript может быть хлопотной, особенно кросс-браузер. Вы лучше с помощью библиотеки, как JQuery, чтобы справиться с этим: jQuery onMouseOver
Хотя такие библиотеки имеют тенденцию увеличивать размер ваших веб-страниц, вы можете получить хорошую производительность при использовании CDN, такие как: Google's AJAX CDN Microsoft's AJAX CDN
, например, для DIV:
<div onmousemove="alert('doSomething')">waiting for mouse over...</div>
вы можете заменить alert
любой яваскрипта функции.
Дополнительная информация здесь: Javascript - Mouse Events.
var mousedOver = [];
function addToMousedOverElements(obj) {
mousedOver[mousedOver.length] = obj;
}
Вы можете создать обратный вызов, чтобы добавить элемент moused over в список.
<a href="#" onmouseover"addToMousedOverElements(this);">mouseover me!</a>
Или что-то подобное. Тогда это позволит вам ссылаться на каждый элемент, который был обработан. Вы также можете проверить, не застрял ли элемент до добавления его в список.
Это делает работу:
<head>
<script language="JavaScript">
function myFunction(){
alert('Mouse over!!!')
}
</script>
</head>
<body>
<div id="myDiv" onmouseover="myFunction()">
Mouse over here...
</div>
</body>
Позволяет предположит, что вы хотите отслеживать события на курсор, находящейся кучу элементов. Так как событие mouseover получает пузырь в JS, присоедините обработчик onmouseover к узлу, который является родительским узлом для этих элементов. Рассмотрим следующий HTML:
`<div id="parent">
<div id='div1'>Track mouseover on me</div>
<div id='div2'> Track mouse over on me too.</div>
</div>
Так что для такой HTML, вы можете прикрепить обработчик к DIV под названием 'родитель', как
document.getElementById('parent').onmouseover = function(e){
e = e|| window.event;
if(e.target.id=='div1')
//handle mouseover for first div;
};
`
и так далее. Таким образом, вы можете иметь общий обработчик функций для группы элементов.
На самом деле это не относится к вопросу. – Tres
Вопрос был: Есть ли способ проверить, произошло ли событие mouseover для какого-либо элемента? Мой ответ был jQuery onMouseOver. Насколько это могло бы быть? – Andrew