Javascript 检查点击事件是否由tr内的按钮发起
我有一个包含5列的html表。在一列中我有一个按钮。 当我单击该行时,我使用jquery对该行应用css(我选择了该行)。但是,当我单击该行上的按钮时,我不想将样式应用于该行 现在,我检查是否按如下方式单击该行:Javascript 检查点击事件是否由tr内的按钮发起,javascript,jquery,Javascript,Jquery,我有一个包含5列的html表。在一列中我有一个按钮。 当我单击该行时,我使用jquery对该行应用css(我选择了该行)。但是,当我单击该行上的按钮时,我不想将样式应用于该行 现在,我检查是否按如下方式单击该行: $('#mytable tbody').on('click', 'tr', function (event) { //If the click originated by the button don't apply stile //... //...els
$('#mytable tbody').on('click', 'tr', function (event) {
//If the click originated by the button don't apply stile
//...
//...else apply the style on tr
}
在函数内部,如何检查单击是否由按钮发起?您需要在按钮单击内部使用
event.stopPropagation()
事件。停止播放()
防止事件在DOM树中冒泡,防止任何
父处理程序不会收到事件通知
来源:您需要在按钮内使用
事件.stopPropagation()
事件。停止播放()
防止事件在DOM树中冒泡,防止任何
父处理程序不会收到事件通知
来源:您可以使用事件的
target
属性来确定引发冒泡事件的元素。试试这个:
$('#mytable tbody').on('click', 'tr', function (e) {
if (e.target.nodeName == 'BUTTON') {
// the button was clicked...
}
});
或者,您可以使用按钮上的stopPropagation
,单击:
$('#mytable tbody').on('click', 'button', function (e) {
e.stopPropagation();
// other logic...
});
您可以使用事件的
target
属性来确定引发冒泡事件的元素。试试这个:
$('#mytable tbody').on('click', 'tr', function (e) {
if (e.target.nodeName == 'BUTTON') {
// the button was clicked...
}
});
或者,您可以使用按钮上的stopPropagation
,单击:
$('#mytable tbody').on('click', 'button', function (e) {
e.stopPropagation();
// other logic...
});
您可以使用
event.currenttarget
检查当前目标并应用样式。您可以使用event.currenttarget
检查当前目标并应用样式。您可以通过event.target
对其进行过滤:
$('#mytable tbody').on('click', 'tr', function (event) {
if (event.target.nodeName != 'TR') return;
// handle event
});
如果按钮上有jQuery事件处理程序,请使用
event.stopPropagation
,这样单击事件不会在DOM树上冒泡。您可以通过event.target对其进行过滤:
$('#mytable tbody').on('click', 'tr', function (event) {
if (event.target.nodeName != 'TR') return;
// handle event
});
如果按钮上有jQuery事件处理程序,请使用event.stopPropagation
,这样单击
事件不会在DOM树上冒泡
将类名
或id
分配给按钮
使用event.target.className
检查原始元素是否包含您提供的按钮的className
或id
。只有当事件起源不是来自按钮时(当它等于按钮类时,则停止),才触发tr
事件功能来设置tr
if(event.target.className==){
//退出函数
返回
}否则{
//做造型
}
将类名
或id
分配给按钮
使用event.target.className
检查原始元素是否包含您提供的按钮的className
或id
。只有当事件起源不是来自按钮时(当它等于按钮类时,则停止),才触发tr
事件功能来设置tr
if(event.target.className==){
//退出函数
返回
}否则{
//做造型
}