Javascript 链接上的触发事件无法工作

Javascript 链接上的触发事件无法工作,javascript,jquery,html,click,Javascript,Jquery,Html,Click,大家好,我正在构建一个库,例如,我给了一个html元素一个atribute <a href="https://google.com" shc="27"> logout 这是小提琴:我甚至不知道我改变了什么,但它起作用了 <html> <body> <a href="http://google.com" class="shortcut" shc="27"> logout </a> </body> </htm

大家好,我正在构建一个库,例如,我给了一个html元素一个atribute

<a href="https://google.com" shc="27">
logout

这是小提琴:

我甚至不知道我改变了什么,但它起作用了

<html>
<body>
<a href="http://google.com" class="shortcut" shc="27">
    logout
  </a>
</body>
</html>

$(document).on("keydown", function(e) {
    console.log(e.which);
    checkElementType(e.which);
});

function checkElementType(shortcutKey){
    var element = $("[shc="+shortcutKey+"]");
    var elementType = element.prop('nodeName');

    switch(elementType){
        case 'A':
            element.trigger('click');
            console.log(element);
            console.log('click the link');
        break;
    }
}

$(文档).on(“向下键”,函数(e){
console.log(e.which);
checkElementType(如which);
});
功能检查元素类型(快捷键){
var元素=$(“[shc=“+shortcutKey+”]);
var elementType=element.prop('nodeName');
开关(元件类型){
案例“A”:
元素。触发器('click');
控制台日志(元素);
log(“单击链接”);
打破
}
}

您可以使用
window.location.href
属性打开基于元素的
href
属性的链接:

window.location.href = element.attr('href');
希望这有帮助


$(文档).on(“向下键”,函数(e){
console.log(e.which);
checkElementType(如which);
});
功能检查元素类型(快捷键){
var元素=$(“[shc=“+shortcutKey+”]);
var elementType=element.prop('nodeName');
开关(元件类型){
案例“A”:
控制台日志(元素);
log(“单击链接”);
window.location.href=element.attr('href');
//或
//元素[0]。单击();
//或
//元素[0]。触发器('click');
打破
}
}


更改
元素。触发器('click')
元素[0]。单击()

与您的问题无关,但您应该使用属性而不是自定义属性。可能重复@Andreas为什么要使用数据属性而不是自定义属性?因为规范中未定义自定义属性,这可能会产生不良的副作用(现在或以后)。这些
data-*
属性正是为此目的而指定的。为了有一个存储数据的地方并且仍然生成有效的HTML5标记好的,谢谢你的解释,我曾想过使用数据shc,但每次都懒得键入数据-,这就是为什么我放弃了它,但我会确保我现在就使用它:)这是可行的,但当我尝试触发一个按钮时,还有一个问题它不起作用哪一个按钮?我只能看到链接标签
。好的,我明白了,下次我想把所有需要的信息都添加到OP中,祝你好运,编码快乐。
window.location.href = element.attr('href');