Javascript 仅在父级上防止默认值,或更改防止默认值的目标
我正在收听包含textarea的div(我们称之为scroll\u div)上的scroll事件 在给定的场景中(场景并不重要),我在滚动时执行“e.preventDefault() 当e.target是文本区域时,我不想阻止文本区域内的滚动。。。仅在scroll\u div上显示默认值 我试过:Javascript 仅在父级上防止默认值,或更改防止默认值的目标,javascript,html,Javascript,Html,我正在收听包含textarea的div(我们称之为scroll\u div)上的scroll事件 在给定的场景中(场景并不重要),我在滚动时执行“e.preventDefault() 当e.target是文本区域时,我不想阻止文本区域内的滚动。。。仅在scroll\u div上显示默认值 我试过: if(e.target.type !== "textarea") { this.preventDefault(e);//Don't scroll } else
if(e.target.type !== "textarea") {
this.preventDefault(e);//Don't scroll
} else {
this.stopPropagation(e);
}
但是当我这么做的时候,身体在滚动(我不希望它发生)
建议?您可能正在寻找:
event.stopPropagation();
阻止当前事件的进一步传播
这将阻止事件在DOM中冒泡。有关这方面的更多详细信息,请参见:
好吧,这样不行-
$('#foo').scroll(function(ev) {
ev.preventDefault();
});
因为滚动事件发生在滚动上,但不是实际的滚动事件本身。这称为mousewheel或DOMMouseScroll,具体取决于您的浏览器。这样做:
$('#foo').on('mousewheel DOMMouseScroll', function(ev) {
ev.preventDefault();
});
应该可以做到这一点。您可能正在寻找:
event.stopPropagation();
阻止当前事件的进一步传播
这将阻止事件在DOM中冒泡。有关这方面的更多详细信息,请参见:
好吧,这样不行-
$('#foo').scroll(function(ev) {
ev.preventDefault();
});
因为滚动事件发生在滚动上,但不是实际的滚动事件本身。这称为mousewheel或DOMMouseScroll,具体取决于您的浏览器。这样做:
$('#foo').on('mousewheel DOMMouseScroll', function(ev) {
ev.preventDefault();
});
应该这样做。在滚动事件中,它没有帮助。是否有任何方法仅在父对象上防止默认值?在滚动事件中,它没有帮助。是否有任何方法仅在父对象上防止默认值?在滚动事件中,它没有帮助。是否有任何方法仅在父对象上防止默认值?可能重复的可能重复可能重复的