2012-02-28 3 views
0

Есть ли способ установить положение курсора на экране/веб-странице или в верхней или нижней части страницы при загрузке страницы? Если да, то как я могу настроить таргетинг, возможно, используя javascript, jquery или php? Благодаря!Как установить положение курсора на экране?

+0

Можете ли вы уточнить, что вы пытаетесь достичь? Если вы пытаетесь установить действие для события «hover», вы можете просто выполнить это, притворив действие в бэкэнд. Никогда не должно быть никаких оснований физически требовать, чтобы мышь находилась где-то на загрузке страницы для чего-то произойдет - потому что вы можете создать этот эффект, независимо от того, как срабатывает «позиция мыши». – Ohgodwhy

+0

@ Ohgodwhy, причина, по которой я хочу переместить указатель мыши на экран, связана с тем, что страница, которую я создаю, является страницей тега, поэтому люди нажимают на любую следующую страницу. Я не хочу, чтобы люди отображали адрес строки состояния, когда они открывали страницу, пока они не перемещают мышь и не взаимодействуют со страницей, поэтому мне пришло в голову перемещение курсора с экрана. Какие-либо предложения? Благодарю. – grumpypanda

+0

Я бы использовал наложение со 100% прозрачным фоном. это не позволит кому-либо перейти к элементу, но покажет все данные под ним. Затем я бы назвал функцию jquery .mousemove и удалил прокладку из DOM. – Ohgodwhy

ответ

2

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

Во-первых, нам нужно создать прокладку. Для этого мы будем использовать идентификатор 'pageLayover'.

наш CSS:

#pageLayover{ 
    position:absolute; 
    top:0; 
    left:0; 
    width:100%; 
    height:100%; 
    background:transparent; 
    z-index:9000; 
    display:block; 
} 

Тогда наш JQuery:

$(function(){ 
    $("body").append('<div id="pageLayover"></div>'); 
    $(document).mousemove(function(){ //capture mouse movement event 
    $("#pageLayover").remove(); // remove our layover from the DOM 
    }); 
}); 

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

Удачи.

Редактирование, чтобы обеспечить лучшую видимость для решения

Я согласен с MyStream здесь, Это, безусловно, не является конечным решением. Там, как я заметил в комментарии, нужно выполнить настройку.

Если вы хотите, чтобы это была функция щелчка, вам просто нужно сделать ее функцией щелчка.

$("#myClickElement").live('click', function(){ 
    $("body").append('<div id="pageLayover"></div>'); 
}); 

добавит pagelayover. Если вы хотите, чтобы переместить сферу удалить его в один клик, вы можете использовать нормированную функцию MouseDown, например ->

$('#element').mousedown(function(event) { 
    if(event.which == 1){ $("#pageLayover").remove(); 
}); 
+0

спасибо за код, я добавил в свой код на http://jsfiddle.net/EXfnN/17/, так что это для первой страницы, но он не работает. Не могли бы вы посмотреть и посмотреть, что я сделал что-то не так? Я ценю вашу помощь. Спасибо! – grumpypanda

+0

Я обновил jsFiddle. Проверь это сейчас. код должен быть наверху, и я изменил фон на черный, чтобы вы могли видеть, что прокладка действительно работает. Что вам нужно понять, так это то, что в тот момент, когда вы перемещаете мышь, прокладка будет удалена из DOM. Как я сказал ранее, если вы хотите отложить этот эффект, вы можете установить тайм-аут или контролировать расстояние, на которое перемещается мышь, и т. Д. – Ohgodwhy

+0

Также я должен отметить, что вам не нужно вызывать $ (function() {изнутри $ (function(). $ (function() {буквально переводит в формат jQuery $ (document) .ready (function(), который переводится из обычного JS, который является window.onload = function() {}. – Ohgodwhy

3

Невозможно установить положение мыши в Javascript. Это вызывает серьезную проблему безопасности.
Представьте себе, насколько хаотично было бы, если бы какой-либо веб-сайт мог взять под контроль вашу мышь.

+0

Привет, Deantoni, спасибо за ваш ответ. Так можно ли установить, где находится курсор, когда страница загружается, а затем люди могут перемещать ее мышью? Благодарю. – grumpypanda

+0

Под курсором вы имеете в виду указатель мыши, не так ли? – deantoni

+1

Нет - но вы можете установить фокус, а не позицию, чтобы находиться в определенном поле формы или элементе на странице. – MyStream

1

Вы можете установить фокус на определенный элемент ввода. Таким образом, вы можете контролировать, что происходит, когда пользователь следующий тип текста. Google для «setfocus javascript»

Но вы не можете управлять мышью. Пользователь управляет мышью.

+0

жаль, что я не поняла. причина, по которой я хочу переместить указатель мыши на экран, связана с тем, что страница, которую я создаю, является страницей тега, поэтому люди будут нажимать на любую следующую страницу. Я не хочу, чтобы люди отображали адрес строки состояния, когда они открывали страницу, пока они не перемещают мышь и не взаимодействуют со страницей. Можете ли вы это сделать? Или любые другие способы? Благодарю. – grumpypanda

Смежные вопросы