我在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