【发布时间】:2012-02-17 23:46:14
【问题描述】:
我有一个TextBox,它位于RadioButton's 标签内。在 FireFox (v8.0.1) 中,当您单击此 TextBox 时,它会将 MouseUp 上的焦点更改为 RadioButton,这意味着不再选择 TextBox。
这让 FireFox 用户产生无法选择 TextBox 的错觉,即使您可以通过 Tab 键或双击它来选择它。
<asp:RadioButton runat="server" GroupName="PaymentAmount" ID="rbAmount_Other" />
<asp:Label runat="server" AssociatedControlID="rbAmount_Other">
Some Text
<asp:TextBox runat="server" ID="txtOtherAmount" CssClass="money-text" />
Some other Text
</asp:Label>
I have tried using jQuery to stop this behavior, but am not having any luck because the RadioButton's .changed() and .focus() don't get fired when the TextBox gets selected, even though the RadioButton gets selected.
当文本或 TextBox 悬停或单击时,如何保持现有的突出显示或选择 RadioButton 的行为,但使 TextBox 在被选中时保持焦点?
编辑
按要求输出 HTML:
<input id="ctl00_cphPageContent_rbAmount_Other" type="radio" name="ctl00$cphPageContent$PaymentAmount" value="rbAmount_Other" />
<label for="ctl00_cphPageContent_rbAmount_Other">
<label>Pay other amount</label>
<input name="ctl00$cphPageContent$txtOtherAmount" type="text" id="ctl00_cphPageContent_txtOtherAmount" class="money-text" />
<div class="align-with-radiobutton small-text">
The minimum amount for web payments is
<span id="ctl00_cphPageContent_lblMinPayment">$20.00</span>. If you are looking to pay a lower
amount, please <a href="Contact.aspx">contact us</a> and speak with a representative.
</div>
</label>
【问题讨论】:
-
您的 HTML 输出将比您的 .NET 源代码更有帮助。这一切都发生在客户端,所以显示客户端代码。
-
您是否尝试过阻止单选按钮的 .click() 事件的默认行为?我认为这将是您单击单选按钮的标签(或标签内的任何内容)时触发的事件。
-
@itsmequinn 是的,我确实尝试过
event.preventDefault()和event.stopPropagation(),但都没有成功