Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.01.2016, 09:18
Новичок на форуме
Отправить личное сообщение для Acar Посмотреть профиль Найти все сообщения от Acar
 
Регистрация: 11.01.2016
Сообщений: 5

В недрах jQuery результат метода css() каким-то образом отменяется
Для начала, опишу мою функцию переданную в метод bind
В функции проверяется наличие класса у dom-элемента "selected" методом hasClass,
и dom-элементу "button" изменяется свойство "visibility":
if (selected.hasClass("button")){
	 button.css("visibility","visible");
}

В результате "button" становиться видимым. Но затем в недрах jQuery
по какой-то причине свойcтво "visibility" элемента button снова становиться "hidden" - после выполнения вот этого кода в самой библиотеке jQuery:
// Run delegates first; they may want to stop propagation beneath us
		for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) {
			matched = handlerQueue[ i ];
			event.currentTarget = matched.elem;

			for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) {
				handleObj = matched.matches[ j ];

				// Triggered event must either 1) be non-exclusive and have no namespace, or
				// 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
				if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {

					event.data = handleObj.data;
					event.handleObj = handleObj;

					ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
							.apply( matched.elem, args );

					if ( ret !== undefined ) {
						event.result = ret;
						if ( ret === false ) {
							event.preventDefault();
							event.stopPropagation();
						}
					}
				}
			}
		}


А именно участка кода
ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
							.apply( matched.elem, args );


В чем может быть проблема?
Версия jQuery 1.8.3

Последний раз редактировалось Acar, 11.01.2016 в 10:50.
Ответить с цитированием
  #2 (permalink)  
Старый 11.01.2016, 11:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

JQ тут не причем:

<html> 
<head> 
<style>
button:first-child {
    visibility: hidden;
}
</style> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    $('button').last().click(function() {
        if($(this).hasClass('my')) $('button').first().css({visibility : 'visible'})    
    })    
});
</script>     
</head> 
<body>
<button>First</button>
<button class="my">Last</button>
</body> 
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу jquery, js, html, css спеца. AlexBell Работа 41 23.11.2012 08:20
JQuery CSS анализатор javascript jQuery 2 15.08.2010 21:27