同学们帮小弟我:onchange和onclick同时触发,而小弟我只想要onchange触发,怎么处理呢

同学们帮我:onchange和onclick同时触发,而我只想要onchange触发,怎么办呢?请大侠帮忙:我的一个table,里面

同学们帮我:onchange和onclick同时触发,而我只想要onchange触发,怎么办呢?
请大侠帮忙:

我的一个table,里面的<td>调用了onclick去改变这个<td>的背景颜色,
这个<td>上有一个text的input,有onchange事件,
麻烦出来了,我改变了这个text,然后点了一下这个<td>,于是text的onchange和这个<td>的onclick同时触发了,
请同学们帮帮忙,如何只触发这个onchange,而不触发onclick呢?

谢谢大家了。

[解决办法]
"我改变了这个text""于是text的onchange触发了",
"我然后点了一下这个<td>""于是这个<td>的onclick触发了"

有什么不对吗?不仅如此,恐怕你通过点击input来给予焦点企图修改内容时,还会触发<td>的onclick事件。
[解决办法]
试试防止冒泡
[解决办法]

HTML code
<html><head><title>阻止冒泡--康董</title><style>body{color:#333;font-size:12px;}</style></head><body><p>什么是事件冒泡,通俗的来讲就是  我们为页面内body添加一个单击事件,同样再为页面内li元素添加一个单击事件..当你单击li的时候.<br>body的事件也会被触发.....因为li被包含在body元素内...你单击了li同时也单击了body...这就是事件冒泡....<br />在有些时候.我们要阻止这种情况发生...也就是单击li事件.不会触发body的事件.... 这就叫阻止冒泡!<div id="a"> <ul id="lia">请单击下面的列表.会触发body事件  <li>项目1</li>  <li>项目2</li>  <li>项目3</li> </ul> <ul id="lib">请单下面的列表.不会触发body事件.  <li>项目1</li>  <li>项目2</li>  <li>项目3</li> </ul></div><script language="javascript">document.body.onclick = function(){     //首先为body元素绑定一个单击事件    alert("BODY事件");                  //单击页面即弹出对话框}function att_Event(){                  //为第一组li元素绑定onclick事件       var li = document.getElementById("lia").getElementsByTagName("li");    for(var i=0;i<li.length;i++){        li[i].onclick = function(){           alert("Li事件");        }    }}function att_Event_b(){                  //为第二组li元素绑定onclick事件       var li = document.getElementById("lib").getElementsByTagName("li");    for(var i=0;i<li.length;i++){        li[i].onclick = function(e){           alert("Li事件");           stopBubble(e);        }    }}function stopBubble(e){    //如果传入了事件对象.那么就是非IE浏览器    if(e && e.stopPropagation){        //因此它支持W3C的stopPropation()方法        e.stopPropagation();    }    else{        //否则,我们得使用IE的方式来取消事件冒泡        window.event.cancelBubble = true;    }}window.onload = function(){    att_Event();    att_Event_b();}</script></body></html>
[解决办法]
q2104574 说的很对,,,您冒泡了。