Javascript jquery stopPropagation()和发送;事件;?
我创建了一个里面有按钮的桌子 该表有Javascript jquery stopPropagation()和发送;事件;?,javascript,jquery,Javascript,Jquery,我创建了一个里面有按钮的桌子 该表有onclick事件和内部按钮 但当我按下按钮时,事件就会出现在桌面上。(我收到两个警报) 所以我使用了ev.stopPropagation() 以及它的工作原理。但为了让它发挥作用,我必须: 在html中: <input type='button' onclick='doWork(event);'/> 这是正确的方法吗 我必须发送事件吗?我知道不同的浏览器使用不同的事件 IE不需要传递事件对象,我们可以使用window.event访问它。因此
onclick
事件和内部按钮
但当我按下按钮时,事件就会出现在桌面上。(我收到两个警报)
所以我使用了ev.stopPropagation()代码>
以及它的工作原理。但为了让它发挥作用,我必须:
在html中:
<input type='button' onclick='doWork(event);'/>
- 这是正确的方法吗李>
- 我必须发送事件吗?我知道不同的浏览器使用不同的
事件
IE不需要传递事件对象,我们可以使用window.event访问它。因此,出于跨浏览器兼容性的原因,您应该尝试以下方法:
function doWork(e)
{
var evt = e || window.event;
if (evt.stopPropagation) {
evt.stopPropagation();
}
else {
evt.cancelBubble = true;
}
alert('button');
}
IE不需要传递事件对象,我们可以使用window.event.访问它。因此,出于跨浏览器兼容性的原因,您应该尝试以下方法:
function doWork(e)
{
var evt = e || window.event;
if (evt.stopPropagation) {
evt.stopPropagation();
}
else {
evt.cancelBubble = true;
}
alert('button');
}
我看不出有什么问题,是的,您需要参数化事件,以便在事件处理程序中对其调用StopRoPagation()。我看不出有什么问题,是的,您需要参数化事件,以便在事件处理程序中对其调用StopRoPagation()。这是另一个:
功能定位(ev)
{
ev=ev | | window.event;
var target=ev.target | | ev.src元素;
if(target.tagName.toUpperCase()!==“输入”){
警报(“表格”);
}
}
这是另一个:
功能定位(ev)
{
ev=ev | | window.event;
var target=ev.target | | ev.src元素;
if(target.tagName.toUpperCase()!==“输入”){
警报(“表格”);
}
}
我不明白你的答案。html元素是否应该发送事件?如果是,为什么要检查window.event?你可以在e
中找到它……我不明白你的答案。html元素是否应该发送事件?如果是,为什么要检查window.event?您将在e
。。。。
<table onclick="doWork();" border=2 style="width:70px;">
<input type='button' onclick='alert("button");'/>
function doWork(ev)
{
ev = ev || window.event;
var target = ev.target || ev.srcElement;
if(target.tagName.toUpperCase() !== 'INPUT'){
alert('table');
}
}