禁用父事件

时间:2013-11-25 10:33:16

标签: javascript jquery html

我在javascript中遇到了问题。

这是我的HTML

<td onclick="a();" >
     <input type="text" onclick="b();" value="" />
</td>

当我单击输入文本时,我希望只执行b函数。但是,现在也执行了。如何停止执行某项功能?

我试过以下但没有成功

 $j("input").click(function(event){
     event.stopPropagation();
 });

提前致谢

5 个答案:

答案 0 :(得分:0)

j之后$

$("input").click(function(event){
    event.stopPropagation();
return false; 
 });

答案 1 :(得分:0)

尝试

内联js代码不需要jQuery

fiddle Demo

 <input type="text" onclick="b();
       window.event.cancelBubble = true;
       window.event.stopPropagation();" value="" />

event.stopPropagation

IE的

window.event.cancelBubble = true;

<小时/> 或者使用jQuery

将您的代码包装在DOM Ready

fiddle Demo

$(function () {
    $("input").click(function (event) {
        event.stopPropagation();
    });
});

答案 2 :(得分:0)

这可能有用

  <input type="text" onclick="b();event.stopPropagation();" value="" />

答案 3 :(得分:0)

尝试这种方式:

function a(){
    console.log('a');   
}

function b(){
    event.stopPropagation();
    console.log('b');   
}

Fiddle

答案 4 :(得分:0)

试试这样 在 HTML

<td  >
     <input type="text" value="" />
</td>

在JS中

$("td").on("click",function(event){
 event.stopPropagation();
if(event.target=="input")
{
 b();
}
else{
a();
}
});