Javascript 重写嵌入在html元素中的现有onkeydown
在html元素中,调用onkeydown函数: “” 但我需要用document.onkeydown函数覆盖它Javascript 重写嵌入在html元素中的现有onkeydown,javascript,overriding,onkeydown,Javascript,Overriding,Onkeydown,在html元素中,调用onkeydown函数: “” 但我需要用document.onkeydown函数覆盖它 document.addEventListener('keydown', captureEnter, true); function captureEnter(evt) { evt = evt || window.event; if (evt) { ele_type = evt.srcElement.getAt
document.addEventListener('keydown', captureEnter, true);
function captureEnter(evt) {
evt = evt || window.event;
if (evt) {
ele_type = evt.srcElement.getAttribute("id");
if (!(ele_type == $("[id$='AddNewLink']") || ele_type == $("[id$='Add_New']") || ele_type == $("[id$='AddNewImage']"))) {
ele_type = null;
return;
}
}
};
如何使函数运行而不是执行嵌入html的onkeydown?如果不希望执行
onkeydown
处理程序,我认为可以停止事件的传播
document.addEventListener('keydown',captureEnter,true);
函数captureEnter(evt){
snippet.log('captureinter')
evt.stopPropagation()
};
函数RadWindowprompt_detectenter(){
log('RadWindowprompt\u detectenter')
}
上述代码的问题:1。evt.stopPropagation()永远不会执行,因为它第一次调用:onkeydown=“return RadWindowprompt_detectenter({0}',event,this);”是因为它的嵌入。2.remove属性不起作用,因为如果已调用onkeydown,则没有必要删除该属性!问题是RadWindowprompt\u detectenter是从第三方dll(RadContol)调用的,因此我无法更改/删除嵌入在element@user1463110您尝试过这些解决方案吗?-属性是在页面加载时删除…evt.stopPropagation()是这里的重要部分