В недрах 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, время: 04:41. |