javascript - 附加左键或右键单击的事件监听器 - onclick 不适用于右键单击

标签 javascript html css forms web-inspector

我目前正在申请实习 Internship Link

我立即注意到的一件事是,您点击上传求职信或粘贴求职信,您会被重定向到工作邀请网站的主页 Job Invite遗憾的是您无法上传求职信。另一方面,上传简历工作得很好,但粘贴简历有同样的问题。
有谁知道如何解决此问题并能够提交求职信?

我不是网络专家,但由于我正在申请工程职位,所以我试图找到解决这个问题的方法。我右键单击上传求职信链接并使用检查元素工具检查了该链接。我发现这个功能

onclick="jvAddAttachment2('jvcoverletter', 'qLY9Vfwx')

单击按钮时将被调用。现在进入此 html 页面的 JavaScript 文件,Inspect Element -> Sources -> *careers_8.js?v=303,我尝试执行一个基本的警报语句,来自 alert dialog ,进行一些调试以查看问题所在。现在是代码

function jvAddAttachment2(id, companyId){
    alert("I got here");
    ....
}

然后我执行了 control 操作,Inspect Element 控制台输出“重新编译和更新成功”。所以我假设 JavaScript 文件已经更新。但是,当我单击链接(通过右键单击,打开新窗口)时,没有显示警报框。
有谁知道如何显示警报对话框?我想我已经用一门网络开发类(class)中的工作知识做了尽可能多的事情了哈哈。

最佳答案

您正在寻找右键单击的 contextmenu 事件:

element.addEventListener('contextmenu', function() {
  // code here
});

请不要在 html 中使用内联 js,例如 onclick。上面的示例是附加事件监听器的正确方法。

您应该使用 var myElem = document.getElementById('the-id') 或类似的函数(如 document.querySelector 等)在 javascript 中获取元素引用。

然后,您可以轻松附加这两个事件,如下所示:

// left click
myElem.addEventListener('click', myFn);
// right click
myElem.addEventListener('contextmenu', myFn);

如果你坚持使用内联 js 来做到这一点,那就是:

<div onclick="myFn()" oncontextmenu="myFn()"></div>

为您提供两种方法的完整演示:

var myElem = document.getElementById('my-element');
myElem.addEventListener('click', myClickFn);
myElem.addEventListener('contextmenu', myClickFn);

function myClickFn() {
  console.log('this is myClickFn!');  
}

function someFn() {
  console.log('this is someFn!');  
}
<div id="my-element" onclick="someFn()" oncontextmenu="someFn()">Left or Right click me!</div>

此外,由于您希望将参数传递给单击时要调用的函数,因此最好为事件使用中间函数,并让该函数调用另一个函数,传递参数,例如这个:

function myClickFn() { // this is called on click
  myOtherFunction('some', 'params');
}

这可以防止您重复相同的函数调用,在两个地方传递相同的参数。

关于javascript - 附加左键或右键单击的事件监听器 - onclick 不适用于右键单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28790209/

相关文章:

html - 如何使两个堆叠的div具有相同的高度

javascript - 有没有办法创建一条从时间轴上的标记到文本的线?

javascript - js中如何删除数组中的数组元素?

javascript 创建内容

javascript - FlatList react native : How i can focus scroll in the specific list item

javascript - AJAX上传文件和文本不起作用

html - 不同页面不同颜色

css - 输入标签定制

html - 为什么网格项不移到最后?

html - CSS - 在 div 之外相对于另一个的绝对位置