Почему событие jquery mouseup не работает в Google Chrome? - PullRequest
2 голосов
/ 08 августа 2011

Я использую этот код для обнаружения события mouseup на скроллере div. Этот код работает нормально в Firefox 3/4/5, но не работает в Google Chorme 12/10/5.

Код:

jQuery('#slideshow').scroll(function () { 


jQuery(this).mouseup(function(){
alert("hi it's a mouse up");
});

    });

в Firefox он показывает предупреждение, но в Google Chrome он не показывает никаких предупреждений.

Подскажите, пожалуйста, решение этой проблемы?

-Спасибо заранее

Ответы [ 3 ]

1 голос
/ 08 августа 2011

Здесь: DEMO Это был конфликт с наведением мыши внизу сценария. Потому что mouseover фактически уже «останавливал» галерею.

Просто удалил mouseup из .scroll() function и добавил под где у нас уже есть слушатель мыши:

$('#slideshow').bind('mouseover mouseout', function(e) {
    if (e.type === 'mouseover') {
        clearTimeout(interv);
        $('#test').html('Stop on mouseover');
    } else {
        $('#slideshow').animate({scrollLeft: iw * (counter - 1)}, 1000);
        start();
    }
}); 
0 голосов
/ 08 августа 2011

Попробуйте: -

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Slideshow</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>

<style type="text/css">
    #slideshow
    {
        width:200px;
        padding:10px;
        height:200px;
        overflow:auto;
    }
.slide
{    
    height:100px;
    margin:20px 0px;
    background-color:#ccc;
}
</style>
</head>
<body>
<div id="slideshow">
<div class="slide">&nbsp;</div>
<div class="slide">&nbsp;</div>
<div class="slide">&nbsp;</div>
<div class="slide">&nbsp;</div>
</div>

<script type="text/javascript">
    jQuery('#slideshow').scroll(function() {
        jQuery(this).mouseup(function() {
            alert("hi it's a mouse up");
        });
    });

</script>
</body>
</html>

И я всегда рекомендую использовать, как сказал Гомми

 jQuery(function($){
  $('#slideshow').scroll(function(){/*Do something, if need*/}).mouseup(function(){
     alert("hi it's a mouse up");
  });
}
0 голосов
/ 08 августа 2011

по результатам из арахисовой галереи

// Bad
$(window).mouseup(function() { ... });

// Good
window.addEventListener("mouseup", function(event) { ... });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...