Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает scroll, click работает (https://javascript.ru/forum/misc/54200-ne-rabotaet-scroll-click-rabotaet.html)

laaf 08.03.2015 16:02

Не работает scroll, click работает
 
Совсем замучился. Элемент #div_skndb создан скриптом через append со свойством 'overflow':'scroll' внутри родительского постоянной разметки #divcont. Почему-то 'click' работет, а 'scroll' нет. Никакие комбинации с .live, .bind не помогают. Jquery стоит 1.11.2, плюс jquery-migrate-1.2.1.js.
$('#divcont').on('scroll, click','#div_skndb',function(){
    console.log('scroll');    
})

Направьте мысль в правильном направлении.

рони 08.03.2015 16:17

laaf,
а если вместо scroll -> mousewheel

laaf 08.03.2015 17:25

Спасибо, но не сработало.

laimas 08.03.2015 18:16

$('#divcont').on('scroll click','#div_skndb',function()

рони 08.03.2015 18:23

laimas,
:) просмотрел запятую

laaf 08.03.2015 18:24

Тоже не помогло. Я по отдельности естественно тоже события пробовал. Click работает, scroll нет. Прямо заколдованность какая-то. Ну ведь кто-то сталкивался. Не представляю, как еще пошаманить.

laimas 08.03.2015 18:27

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<style>
#as1, #as2 {
    width: 150px;
    height: 150px;
    overflow-y: auto;
}

</style> 
<script src="https://code.jquery.com/jquery-1.11.2.js"></script>
<script> 
$(function() {
   $('#as1').on('scroll click', function() {
      alert('as1')
   })
   
   $('#as2').on('scroll, click', function() {
      alert('as2')
   })
});
</script>     
</head> 

<body>
    <div id="as1"><p>dsfs</p><p>vcvcxvx</p><p>dsfsdfs</p>pfdfd</p><p>fjksdfls</p><p>dsfsdfs</p>pfdfd</p><p>fjksdfls</p></div>
    <div id="as2"><p>dsfs</p><p>vcvcxvx</p><p>dsfsdfs</p>pfdfd</p><p>fjksdfls</p><p>dsfsdfs</p>pfdfd</p><p>fjksdfls</p></div>
</body>
</html>


Да вроде бы ничего не просмотрел )

laimas 08.03.2015 18:37

Я по отдельности естественно тоже события пробовал. Click работает, scroll нет

События, если указывается несколько, пишутся через пробел, а элементы, которым они задаются, через запятую. Другого способа я не знаю, судя по источнику его и нет. )

hhh 08.03.2015 18:41

laaf,
просто у вас разметка не правильная, воможно...
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  <style>
   #divcont {
    width: 300px;
    height: 300px;
    border: 1px dashed #ccc;
    overflow-y: scroll;
   }
   #divcont > div {
    height: 500px;
   }
</style>
<div id="divcont"></div>

<script>
var divcont = $('#divcont');

$('<div>', {
  id: 'div_skndb',
  text: 'inner'
})
.appendTo(divcont);

divcont.on('scroll click',function(){
    alert('scroll');
});
</script>

laaf 08.03.2015 18:42

Здесь элементы постоянные, присутствуют в разметке html. У меня элемент со скролом создается на лету через append.
Тут ключевое не понятно, как может одно событие работать, а второе нет.


Часовой пояс GMT +3, время: 09:00.