向现有事件添加JavaScript代码

Add JavaScript code to an existing event

本文关键字:JavaScript 代码 添加 事件      更新时间:2023-09-26

我想为现有的JavaScript事件添加一个函数:

<input type="text" value="" maxlength="2048" accesskey="S" title="Rechercher..." id="ctl00_ctl42_g_c33cc49a_f2b3_4d8f_9da7_c43b759a91ea_csr_sbox" autocomplete="off" autocorrect="off" onkeypress="if (Srch.U.isEnterKey(String.fromCharCode(event.keyCode))) { $getClientControl(this).search(this.value);return Srch.U.cancelEvent(event); }" onkeydown="var ctl = $getClientControl(this);ctl.activateDefaultQuerySuggestionBehavior();" onfocus="var ctl = $getClientControl(this);ctl.hidePrompt();ctl.setBorder(true);" onblur="var ctl = $getClientControl(this);ctl.showPrompt();ctl.setBorder(false);" class="ms-textLarge ms-srch-sbLarge-fullWidth">

我想把这个函数添加到事件onkeydown:

if(window.location.href.indexOf("#k=") > -1) { 
    $("#reset").show();
}

为什么不使用更少干扰和更易读的方式编写js使用addEventListener

var element = document.querySelector( ".ms-srch-sbLarge-fullWidth" );
element.addEventListener( "keydown", function(){
  var ctl = $getClientControl(this);
  ctl.activateDefaultQuerySuggestionBehavior();
  if(window.location.href.indexOf("#k=") > -1) { 
    $("#reset").show();
  }
});

纯JavaScript Element.addEventlistener()

document.getElementById("button").addEventListener("click", function() {
  //excute some 1
  console.log("first event fired");
}, false);
document.getElementById("button").addEventListener("click", function() {
  //excute some 2
  console.log("appended event fired in the same time");
}, false);
<button id='button'>click</button>

JQuery $("selector").on();

$("#button").on("click",function(){
console.log("first call");
});
$("#button").on("click",function(){
console.log("and appended event called in the same time");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id='button'>click</button>