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

时间:2015-03-01 04:49:18

标签: javascript html css forms web-inspector

我目前正在申请实习Internship Link

我立刻注意到的一件事是你点击上传求职信或粘贴求职信,你被重定向到求职网站Job Invite的主页,遗憾的是你可以&# 39; t上传你的求职信。另一方面,上传恢复工作完全正常,但粘贴恢复具有相同的问题 有谁知道如何解决这个问题,并能够提交求职信?

我不是网络大师,但是因为我正在申请工程职位,我正试图找到解决方法。我右键单击了上传封面信函链接,并使用inspect元素工具检查了链接。我发现这个功能

onclick="jvAddAttachment2('jvcoverletter', 'qLY9Vfwx')
单击按钮时,

将被调用。现在进入这个html页面的JavaScript文件,Inspect Element - >来源 - > * careers_8.js?v = 303,我试图从alert dialog做一个基本的警报声明,做一些调试,看看是什么问题。这是现在的代码

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

然后我控制了s并输出了Inspect Element控制台"重新编译和更新成功。"所以我假设JavaScript文件已更新。但是,当我单击链接时(通过右键单击,打开新窗口),不会显示任何警告框。
有人知道如何显示警报对话框吗?我想我已经通过一个网络开发课程的工作知识做了尽可能多的工作哈哈。

3 个答案:

答案 0 :(得分:2)

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

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

请不要在html中使用内联j,例如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>

ya的两种方法的完整演示:

&#13;
&#13;
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!');  
}
&#13;
<div id="my-element" onclick="someFn()" oncontextmenu="someFn()">Left or Right click me!</div>
&#13;
&#13;
&#13;

此外,既然您想要将参数传递给您将要调用的函数,那么最好使用中间函数来执行该事件,并让该函数调用另一个函数,传递参数如下:

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

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

答案 1 :(得分:1)

请务必使用&#34; 关闭最后的onclick字符串:

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

左键单击而不是右键单击。

答案 2 :(得分:0)

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

我认为没有双引号。

demo