如何将此函数绑定到输入焦点

时间:2011-07-13 04:11:24

标签: jquery jquery-selectors

我有以下简化功能。删除了实际用法。因此,onfocus我希望提醒文本框的值。

我想将函数定义与用法分开。

new function ($)
{
    $.fn.setFocus = function ()
    {
        alert($(this).val());
    }
} (jQuery);

我目前的尝试无效:

$('input[type=text]').focus(setFocus);

我怎样才能让它发挥作用?感谢。

4 个答案:

答案 0 :(得分:2)

setFocus可能未定义。您应该参考函数本身,在本例中为$.fn.setFocus

$('input[type=text]').focus($.fn.setFocus);

答案 1 :(得分:0)

    $("input[type='text']").focus(function(){
alert($(this).val());
});

jQuery attribute selectors

答案 2 :(得分:0)

你可能想要的是:

function setFocus() {
    alert($(this).val());
}

$("input[type='text']").focus(setFocus);

通过将setFocus分配给$ .fn所做的是创建一个可以提醒所选元素内容的插件:

$("#foo").setFocus();

向jQuery的焦点调用提供$ .fn.setFocus在技术上会起作用,但它有其他你可能不想要的效果。

答案 3 :(得分:0)

您的代码看起来更像是尝试扩展jQuery ..

可能是你想要的

new function ($)
{
    $.fn.setFocus = function ()
    {
        return this.focus(function(){
           alert($(this).val());
        });
    }
} (jQuery);

并像这样称呼它

$('input[type=text]').setFocus();