Заменить событие щелчка мышью, когда событие мыши уже существует - PullRequest
0 голосов
/ 18 ноября 2011

Я уже посмотрел этот пост: Jquery при наведении курсора мыши , где автор упоминает, что он решил, но на самом деле не опубликовал решение.

Вот проблема:

Есть ли способ изменить код так, чтобы он переключал содержимое переключателя при наведении курсора мыши, а не по щелчку?

Вот мой пример: http://nerotic.net/auxout/

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

$(document).ready(function() {
    jcps.fader(100, '#switcher-panel');
    var timeouts = new Array();
    var cities = ["#berlin", "#wired", "#sicily", "#sterephile", "#dave", "#hometheatre", "#lsd", "#lefsetz", "#musicart", "#videohifi", "#alu", "#unplggd", "#alfa", "#digitaltrends", "#playboy", "#uncrate"];
    var timeoutLength = 7400;

    for (i = 0; i < cities.length; i++) {
       timeouts[i] = setTimeout("callCity('" + cities[i] +"')", timeoutLength * (i + 1));
    }

    $('.switcher').mouseover(function() {
        for(key in timeouts){  
            clearTimeout(timeouts[key]);  
        }
    });
});

function callCity(city){
    $(city).trigger('click');
}

Я пробовал:

$(city).trigger('mouseover');
$(city).trigger('onMouseOver');

Затем я увидел некоторую информацию о jquery live () и попробовал это:

$("a.fb").live('onMouseOver', function(){ 
    $(city).trigger();
});

и это:

$("a.fb").live('mouseover', function(){ 
    $(city).trigger();
});

Однако ни одна из них не работает.Во всех случаях карта продолжает функционировать одинаково, событие click продолжает работать, и никаких ошибок не возвращается.

Как бы я продолжал останавливать анимацию при наведении курсора мыши, а также вызывать событие click?

Ответы [ 2 ]

0 голосов
/ 22 ноября 2011

Исправление было удивительно простым ...

$ (город) .trigger ( 'Mouseover');

было правильно, мне просто нужно было поменять 'click' на 'mouseover' в реальных .js.

0 голосов
/ 18 ноября 2011

Попробуйте запретить действие события click и загрузить контент самостоятельно с помощью jQuery.load?

    var loadContent = function(var1, var2) {
      // do loading content here using jQuery.load
    }
    $('.switcher').mouseover(function() {
      var cityName = $(this).attr('id');
      loadContent('#world', cityName+'.php');
    });
    $('.switcher').click(function(e) {
      e.preventDefault();
      alert('click will do nothing');
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...