所以我需要为一些输入字段和文本区域添加工具提示。目前,我的设置如下:
$(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/