Javascript 单击按钮时如何执行功能?
在JavaScript中单击按钮而不使用jQuery时,使函数执行的最佳实践是什么 我正在寻找一个如下所示的解决方案:Javascript 单击按钮时如何执行功能?,javascript,Javascript,在JavaScript中单击按钮而不使用jQuery时,使函数执行的最佳实践是什么 我正在寻找一个如下所示的解决方案: var button = document.getElementById('myButton'); function sayHello() { alert('hello'); } button.attachFunctionToClick(sayHello); var button = document.getElementById("myButton"); but
var button = document.getElementById('myButton');
function sayHello() {
alert('hello');
}
button.attachFunctionToClick(sayHello);
var button = document.getElementById("myButton");
button.addEventListener("click", sayHello, false);
button.onclick = sayHello
附加事件的标准方式如下所示:
var button = document.getElementById('myButton');
function sayHello() {
alert('hello');
}
button.attachFunctionToClick(sayHello);
var button = document.getElementById("myButton");
button.addEventListener("click", sayHello, false);
button.onclick = sayHello
ie的旧版本(小于9)不支持addeventlistener,您必须返回attachEvent函数
button.attachEvent('click',sayHello);
当然,您仍然可以这样添加到元素的onclick
方法中:
var button = document.getElementById('myButton');
function sayHello() {
alert('hello');
}
button.attachFunctionToClick(sayHello);
var button = document.getElementById("myButton");
button.addEventListener("click", sayHello, false);
button.onclick = sayHello
以上3个示例假设您没有向回调函数传递任何参数,这意味着它们将接收的唯一参数是事件对象。
var button = document.getElementById('myButton');
function sayHello() {
alert('hello');
}
if(document.addEventListener)
button.addEventListener('click',sayHello,false);
else
button.attachEvent('click',sayHello);
功能测试(){
警报(“aaa”);
}
或
这将在页面末尾的关闭正文标记之前执行:
<script>
function test() {
alert('aaa');
}
var button = document.getElementById('myButton');
button.onclick = test;
</script>
功能测试(){
警报(“aaa”);
}
var button=document.getElementById('myButton');
button.onclick=测试;
对于浏览器遵从性,这里有一个简单的帮助函数:
function setEvent (element, event, handler) {
if(document.addEventListener){
element.addEventListener(event, handler);
}else{
element.attachEvent("on" + event, handler, false);
}
};
重要:注意此处“+事件上的”。它用于IE中的事件。请参阅更多
或者您可以尝试:
button.onclick = sayHello;
因为它本质上是DOM 0的一部分,所以这种方法非常广泛
支持并且不需要特殊的跨浏览器代码;因此是这样
通常用于动态注册事件侦听器,除非
需要addEventListener()的功能
-用于IE<9:
将指定的函数绑定到事件,以便该函数
每当事件在对象上激发时调用
:
addEventListener()在单个事件上注册单个事件侦听器
目标。事件目标可以是文档中的单个元素
文档本身、窗口或XMLHttpRequest
要为目标注册多个事件侦听器,请调用
addEventListener()用于相同的目标但具有不同的事件类型,
事件侦听器或捕获参数
AddEventListener
对于符合标准的浏览器,attachEvent
对于IE+1,用于提及IE9-attachEvent
。非常翔实的回答。