В недрах 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 |
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> |
Часовой пояс GMT +3, время: 02:06. |