js实现on
JavaScript 实现 on 方法
在 JavaScript 中,on 方法通常用于为 DOM 元素绑定事件监听器。可以通过原生 JavaScript 或 jQuery 等库实现类似功能。
原生 JavaScript 实现
使用 addEventListener 方法为元素绑定事件:

// 获取 DOM 元素
const element = document.getElementById('myElement');
// 绑定点击事件
element.addEventListener('click', function(event) {
console.log('Element clicked!', event);
});
自定义 on 方法
可以封装一个自定义的 on 方法,简化事件绑定:
function on(element, eventName, callback) {
if (element && eventName && callback) {
element.addEventListener(eventName, callback);
}
}
// 使用示例
const button = document.getElementById('myButton');
on(button, 'click', function() {
alert('Button clicked!');
});
jQuery 实现
如果使用 jQuery,on 方法是内置的:

// 绑定点击事件
$('#myElement').on('click', function() {
console.log('Element clicked!');
});
事件委托
对于动态生成的元素,可以使用事件委托:
// 原生 JavaScript
document.addEventListener('click', function(event) {
if (event.target.matches('.dynamic-element')) {
console.log('Dynamic element clicked!');
}
});
// jQuery
$(document).on('click', '.dynamic-element', function() {
console.log('Dynamic element clicked!');
});
移除事件监听
使用 removeEventListener 或 jQuery 的 off 方法移除事件:
// 原生 JavaScript
const handler = function() {
console.log('Event triggered');
};
element.addEventListener('click', handler);
element.removeEventListener('click', handler);
// jQuery
$('#myElement').off('click');
以上方法可以根据需求选择使用,原生 JavaScript 适用于轻量级场景,而 jQuery 提供了更简洁的语法。






