Merge pull request #1547 from merkste/opera-sidebar-button-issue

fix for opera DSK-354448: onclick fired on disabled nodes with opaque co...
This commit is contained in:
Yury Delendik 2012-04-16 10:49:30 -07:00
commit f0f0418a9c

View File

@ -234,3 +234,21 @@
console = {log: function() {}};
}
})();
// Check onclick compatibility in Opera
(function checkOnClickCompatibility() {
// workaround for reported Opera bug DSK-354448:
// onclick fires on disabled buttons with opaque content
function ignoreIfTargetDisabled(event) {
if (isDisabled(event.target)) {
event.stopPropagation();
}
}
function isDisabled(node) {
return node.disabled || (node.parentNode && isDisabled(node.parentNode));
}
if (navigator.userAgent.indexOf('Opera') != -1) {
// use browser detection since we cannot feature-check this bug
document.addEventListener('click', ignoreIfTargetDisabled, true);
}
})();