jQuery在每个元素加载时应用代码

时间:2010-03-06 23:44:01

标签: javascript jquery html

我正在使用jQuery为页面上的每个文本框添加占位符。我可以使用$(document).ready(),然后迭代遍历所有具有占位符属性的元素,然后将事件添加到该元素,但这意味着用户可以在jQuery代码之前单击文本框被申请;被应用。

所以我想在每个文本框所在的位置应用代码。有谁知道如何做到这一点?我一直在搞乱jQuerys事件处理,但我无法让它工作。

提前致谢。

2 个答案:

答案 0 :(得分:1)

查看Live Query plugin

  

Live Query也有能力   当它发出一个函数(回调)   匹配一个新元素和另一个元素   函数(回调)的时候   元素不再匹配。这个   提供最大的灵活性和   无数的用例。比如说   以下代码使用基于函数   Live Query实现jQuery   悬停辅助方法并在删除时删除它   元素不再匹配。

$('li').livequery(function() { 
  // use the helper function hover to bind a mouseover and mouseout event
  $(this) .hover(function() { 
    $(this).addClass('hover'); 
  }, function() { 
    $(this).removeClass('hover'); 
  }); 
}, function() { 
  // unbind the mouseover and mouseout events 
  $(this).unbind('mouseover').unbind('mouseout');
});

答案 1 :(得分:0)

无论如何,这不是一个优雅的解决方案,但解决方案仍然是在每个文本框后面添加一个脚本标记:

<input type="text" id="input_1" />
<script type="text/javascript">
    $("#input_1").click(function ()
    {
        // ...
    });
</script>

您甚至可以将回调函数声明为变量,使其缩短一点。