Sha*_*eer 4 javascript jquery javascript-events
我想将本机JavaScript事件对象转换为jQuery事件对象.
实际上这就是问题所在:我keyup通过jQuery 将事件处理程序绑定到文档事件,页面上有一些文本框,keyup通过内联JavaScript绑定事件处理程序.
问题是当文本框的事件处理程序被触发时,文档的事件处理程序也会被触发,因为事件"冒泡"我可以修改由内联JavaScript绑定的事件处理函数,但不能修改该行本身.
我正在寻找的是一个跨浏览器,一种取消事件冒泡的方法,这就是为什么我想将它转换为jQuery对象.
看一下jQuery的代码(我看过1.7,但我认为它之前也可用)很容易使用以下命令从本机事件创建一个jQuery事件:
var jQueryEvent = jQuery.Event(event);
Run Code Online (Sandbox Code Playgroud)
如果您只想阻止事件冒泡,那么没有jQuery就很容易.不要害怕走出jQuery世界.它并不像有些人想象的那么复杂.
function stopEventPropagation(evt) {
if (typeof evt.stopPropagation != "undefined") {
evt.stopPropagation();
} else {
evt.cancelBubble = true;
}
}
// Example
document.getElementById("yourInputId").onkeyup = function(evt) {
evt = evt || window.event;
stopEventPropagation(evt);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3942 次 |
| 最近记录: |