У меня есть настоящая проблема. Я хочу, чтобы функция вызывалась только при нажатии на объект и при перемещении мыши над объектом. Вот (синтаксис-отсталый) пример, чтобы получить ваше понимание:onMouseMove + onMouseDown для вызова функции
<div onMouseMove+onMouseDown="function()" ... ></div>
Я думал над тем, как решить эту проблему. Что делать, если я делаю onMouseDown
, который вызывает функцию, которая изменит имя моей функции onMouseMove
, и воспользуется функцией «filler» или «substitute»? Поясню:
<div id="object" onMouseMove="substituteFiller()" onMouseDown="nameChanger()" ... ></div>
<script>
function nameChanger(){
document.getElementById("object").onMouseMove = "theRealFunction()";
}
</script>
<script>
function theRealFunction() ...
Когда я двигаю мышь над объектом ничего не случится, потому что функция substituteFiller()
не будет работать. Но, когда мышь нажала на объект, функция onMouseMove
- будет правильной, theRealFunction()
и theRealFunction()
теперь будут вызываться, когда мышь перемещается.
Этот способ я мог активировать/вызвать theRealFunction()
только при щелчке по объекту и при перемещении мыши. Однако это не работает.
Чтобы быть ясным: как я могу изменить имя вызываемой функции? Как заставить функцию вызываться только при щелчке объекта и перемещении мыши?
С уважением, надеюсь, вы поняли! Если нет, комментарий, я думаю!
Вы хотите сказать, что пользователь нажимает кнопку, и действие происходит только после перемещения мыши? –
Да, точно (переместите/щелкните по конкретному объекту)! Не когда пользователь нажимает, а не когда пользователь только перемещается, но когда пользователь нажимает (удерживает, onMouseDown) и перемещает мышь. Очень похоже на «перетаскивание» движения! :) – JakeTheSnake
Если вы нашли ответ полезным, вы можете пометить его как принятый. Не стесняйтесь спрашивать о дополнительных разъяснениях в комментариях! –