我在a-tag内输入一个输入。我想在单击以更改输入值时停止链接。像这样stopPropagation不会停止父动作
HTML
<div id="contain">
<a href="http://www.stackoverflow.com" target="_blank" id="link">
<input id="clickme" type="text" value="1"></input>
Buy
</a>
</div>
jQuery的
$('#clickme').focus(function(e){
e.stopPropagation();
});
$('#clickme').click(function(e){
e.stopPropagation();
});
的jsfiddle:http://jsfiddle.net/GKvw3/1/
结果是,它还是到stackoverflow.com。任何想法为什么这是。
编辑
我的真实情景是,我有这样的标记如下。现在我所做的是当有人在TR内部的任何地方点击链接href。所以问题变成提交表单(而不是标记)会导致链接..因为我想做我上面解释的,这就是为什么我在测试中使用链接内的输入。
<table>
<tr>
<td><a href="#">headline</a></td>
...
<td><input type="submit" id="submitme" value="buy"/></td>
</tr>
</table>
你为什么要在链接中输入一个输入?如果您的标签可点击并保持输入功能,请将它们并排放置。 – 2012-01-18 11:30:05
将一个'input'元素放在'a'元素中是无效的HTML。 – 2012-01-18 11:31:13
您的jsFiddle设置为使用MooTools而不是jQuery,并且与您在问题中发布的代码不匹配。 – 2012-01-18 11:32:40