diff --git a/components/utils/DomHandler.js b/components/utils/DomHandler.js index 679766ca2..d71a81018 100755 --- a/components/utils/DomHandler.js +++ b/components/utils/DomHandler.js @@ -578,21 +578,24 @@ export default { }, isClickable(element) { - const targetNode = element.nodeName; - const parentNode = element.parentElement && element.parentElement.nodeName; + if (element) { + const targetNode = element.nodeName; + const parentNode = element.parentElement && element.parentElement.nodeName; - return ( - targetNode == 'INPUT' || - targetNode == 'BUTTON' || - targetNode == 'A' || - parentNode == 'INPUT' || - parentNode == 'BUTTON' || - parentNode == 'A' || - this.hasClass(element, 'p-button') || - this.hasClass(element.parentElement, 'p-button') || - this.hasClass(element.parentElement, 'p-checkbox') || - this.hasClass(element.parentElement, 'p-radiobutton') - ); + return ( + targetNode === 'INPUT' || + targetNode === 'TEXTAREA' || + targetNode === 'BUTTON' || + targetNode === 'A' || + parentNode === 'INPUT' || + parentNode === 'TEXTAREA' || + parentNode === 'BUTTON' || + parentNode === 'A' || + !!element.closest('.p-button, .p-checkbox, .p-radiobutton') + ); + } + + return false; }, applyStyle(element, style) {