Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.03.2015, 16:02
Интересующийся
Отправить личное сообщение для laaf Посмотреть профиль Найти все сообщения от laaf
 
Регистрация: 02.01.2015
Сообщений: 11

Не работает 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');    
})

Направьте мысль в правильном направлении.
Ответить с цитированием
  #2 (permalink)  
Старый 08.03.2015, 16:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

laaf,
а если вместо scroll -> mousewheel
Ответить с цитированием
  #3 (permalink)  
Старый 08.03.2015, 17:25
Интересующийся
Отправить личное сообщение для laaf Посмотреть профиль Найти все сообщения от laaf
 
Регистрация: 02.01.2015
Сообщений: 11

Спасибо, но не сработало.
Ответить с цитированием
  #4 (permalink)  
Старый 08.03.2015, 18:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

$('#divcont').on('scroll click','#div_skndb',function()
Ответить с цитированием
  #5 (permalink)  
Старый 08.03.2015, 18:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

laimas,
просмотрел запятую
Ответить с цитированием
  #6 (permalink)  
Старый 08.03.2015, 18:24
Интересующийся
Отправить личное сообщение для laaf Посмотреть профиль Найти все сообщения от laaf
 
Регистрация: 02.01.2015
Сообщений: 11

Тоже не помогло. Я по отдельности естественно тоже события пробовал. Click работает, scroll нет. Прямо заколдованность какая-то. Ну ведь кто-то сталкивался. Не представляю, как еще пошаманить.
Ответить с цитированием
  #7 (permalink)  
Старый 08.03.2015, 18:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

<!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:30.
Ответить с цитированием
  #8 (permalink)  
Старый 08.03.2015, 18:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

События, если указывается несколько, пишутся через пробел, а элементы, которым они задаются, через запятую. Другого способа я не знаю, судя по источнику его и нет. )
Ответить с цитированием
  #9 (permalink)  
Старый 08.03.2015, 18:41
hhh hhh вне форума
Профессор
Отправить личное сообщение для hhh Посмотреть профиль Найти все сообщения от hhh
 
Регистрация: 19.11.2013
Сообщений: 150

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>

Последний раз редактировалось hhh, 08.03.2015 в 18:43.
Ответить с цитированием
  #10 (permalink)  
Старый 08.03.2015, 18:42
Интересующийся
Отправить личное сообщение для laaf Посмотреть профиль Найти все сообщения от laaf
 
Регистрация: 02.01.2015
Сообщений: 11

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает код в ие. Событие click. Marv jQuery 2 13.02.2012 13:49
Почему offset().top не работает в ИЕ Afonin jQuery 2 08.07.2011 10:08
Не работает код внутри циклов DZHETIGAPA Events/DOM/Window 1 21.06.2011 01:03
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41
ajax запросы, работает на одних компах и не работает на других vtornik23 AJAX и COMET 2 22.03.2010 18:22