我在我的应用程序中添加了一个工具提示功能,因为订购系统的某些部分可能会让一些新用户感到困惑,这是简单的jQuery:
$(document).ready(function(){
$('input, select, textarea').focus(function(){
$class = $(this).attr('title');
$('.tooltip_' + $class).fadeIn(500);
});
$('input, select, textarea').blur(function(){
$class = $(this).attr('title');
$('.tooltip_' + $class).fadeOut(500);
});
});
以下是我如何在表单助手中使用它的示例:
<?php echo $form->input('reference', array('title' => 'reference', 'after' => '<div id="tooltip" class="tooltip_reference">This is your order reference, it should be unique to your customer.<span class="pointer"></span></div>')); ?>
这最初可行,但在我的操作中,我使用了一些 $ ajax-&gt; observeField 的实例来加载额外的选择字段,这些选择字段被jQuery焦点忽略,尽管html仍然模糊生成正确。
见下文:
<?php echo $form->input('Order.option.'.$choice['Choice']['option_id'].'.'.$key, array('options' => $choices, 'title' => $value['Tip']['class'], 'after' => '<div id="tooltip" class="tooltip_'.$value['Tip']['class'].'">'.$value['Tip']['tip'].'<span class="pointer"></span></div>')); ?>
我不太清楚为什么会发生这种情况,我在原始视图中使用以下内容加载了jquery文件(而不是通过ajax加载的视图),以便显示在标题中
<?php echo $javascript->link(array('jhint'), false); ?>
任何帮助都将不胜感激。
答案 0 :(得分:0)
我使用以下内容在jQuery中犯了一个错误:
$(document).ready(function() { ... });
我忽略了这会排除在页面加载后加载的内容,这是有时候真正让我失望的最小错误......