如何使用jquery默认/聚焦到按钮

时间:2011-06-09 02:29:27

标签: jquery html

有谁知道如何使用jquery默认/聚焦按钮?

如果我有一个带有3个输入框的页面和3个用于差异动作的按钮。当用户在输入框中输入值时,我怎么能默认按钮。

实施例: 基于以下代码,让我们说当使用键输入年龄下的值时,然后按Enter键而不是点击搜索按钮(ID =“btnAgeSearch”)来进行搜索。如何将按钮默认/聚焦到(ID =“btnAgeSearch”),以便系统调用btnAgeSearch_Click函数来执行搜索代替按钮(ID =“btnNameSearch”)或按钮(ID =“btnColorSearch”)。

<table border="0" width="900px">
        <tr>
            <td>Name: </td>
            <td colspan="2">
                <asp:TextBox ID="sName" runat="server" Width="150px" />
                <asp:Button ID="btnNameSearch" runat="server" Text="Search" CausesValidation="false" OnClick="btnNameSearch_Click"/>
            </td>
        </tr>
        <tr>
            <td>Or<br />Age: </td>
            <td colspan="2">
                <asp:TextBox ID="sAge" runat="server" Width="150px" />
                <asp:Button ID="btnAgeSearch" runat="server" Text="Search" CausesValidation="false" OnClick="btnAgeSearch_Click"/>
            </td>
        </tr>
        <tr>
            <td>Or<br />Color: </td>
            <td colspan="2">
                <asp:TextBox ID="sColor" runat="server" Width="150px" />
                <asp:Button ID="btnColorSearch" runat="server" Text="Search" CausesValidation="false" OnClick="btnColorSearch_Click"/>
            </td>
        </tr>        
    </table>

2 个答案:

答案 0 :(得分:1)

最好的方法是让浏览器自动处理,而不是使用jQuery。使用<form>元素围绕输入和按钮对,并将按钮类型设置为type="submit"

<form onsubmit="return false">
    <asp:TextBox ID="sColor" runat="server" Width="150px" />
    <asp:Button type="submit" ID="btnColorSearch" runat="server" Text="Search" CausesValidation="false" OnClick="btnColorSearch_Click"/>
</form>

答案 1 :(得分:0)

function buttonClicked(e) {
    code = (e.keyCode ? e.keyCode : e.which);
    if (code == 13) {
        setTimeout(function () { $('#btnNameSearch').click(); }, 0);
        return false;
    } else {
        return true;
    }
}

然后在onkeydown上添加一个keydown事件=“return buttonClicked(event);”。