javascript - 结合输入和文本区域元素的 js 函数

标签 javascript jquery

所以我需要为一些输入字段和文本区域添加工具提示。目前,我的设置如下:

$(document).ready(function(){
    $('input').focus(function(){
       var p = $(this);
       var position = p.position();
       var input_name = $(this).attr('id');
       var name = '#'+input_name+'_help'; 
       $('#apply_tooltip').css("left", position.left - 310 );
       $('#apply_tooltip').css("top", position.top -15 );
       $(name).show();
       $('#apply_tooltip').show();


    });
    $('input').blur(function(){
        $('.tooltip_inner').hide();
        $('#apply_tooltip').hide(); 


    });


    $('textarea').focus(function(){
       var p = $(this);
       var position = p.position();
       var input_name = $(this).attr('id');
       var name = '#'+input_name+'_help'; 
       $('#apply_tooltip').css("left", position.left - 310 );
       $('#apply_tooltip').css("top", position.top -15 );
       $(name).show();
       $('#apply_tooltip').show();


    });
    $('textarea').blur(function(){
        $('.tooltip_inner').hide();
        $('#apply_tooltip').hide(); 


    });


}); 

这是可行的,但显然可能有比简单地复制函数更有效的解决方案...是否有办法使用相同的函数来定位输入字段和文本区域?

最佳答案

而不是这个:

$('input').focus(function(){

您可以使用它来获取具有相同 jQuery 对象的两种类型的对象,从而获得相同的功能:

$('input, textarea').focus(function(){

虽然这里不需要这样做,但您应该知道您也可以将通用代码放入函数中并从多个位置调用该函数,而不是将代码复制到多个位置。基本上,您几乎不应该将同一代码块复制到多个位置。

关于javascript - 结合输入和文本区域元素的 js 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8018150/

相关文章:

javascript - 需要正则表达式来验证时间格式

javascript - 如何为每篇文章应用jquery函数

jQuery fullcalendar div 更大的日历不拉伸(stretch)很好

javascript - 在 CSS 中制作一个真实的螺丝头

javascript - Ghost CMS 和 SEO

javascript - 当 Canvas 响应时,拖动不会检测到放下

javascript - 揭示li元素 "radially"

javascript - 实习生js :How to return PageObject of the page from the function which opens it ?

javascript - for of 循环,等到值被定义

javascript - 在 Jquery 中获取 PHP 输出