我在这里和其他地方的了解之间的差异在网络上一些帖子live()和delegate().但是我没有找到我正在寻找的答案(如果这是一个骗局请告诉我).
我知道live和之间的区别delegate是live不能在链中使用.我也读过某些地方,delegate在某些情况下更快(更好的性能).
我的问题是,是否存在应该使用live而不是delegate?
UPDATE
我已经设置了一个简单的测试来查看性能的差异.
我还添加了.on()jQuery 1.7+中提供的新功能
结果几乎总结了答案中所述的性能问题.
.live()除非您的jQuery版本不支持,否则请勿使用.delegate(). .delegate()除非您的jQuery版本不支持,否则请勿使用.on()..live()和之间的差异.delegate()大于delegate()和之间的差异.on().
我有以下输入并需要它们的值:
<input type="hidden" ng-model="movie" value="harry_potter"/>
<input type="text" ng-model="year" value="2000"/>
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能获得每个输入的值?
我正在编写一个函数来在每次用户更新时更新订单收据,然后关闭产品弹出式叠加层.该函数搜索表单的每个输入,然后如果其值大于,则将信息添加到收据div 0.我试图获取.html()位于输入字段上方的标签元素,该元素描述当前项目,并将其用作收据中项目的描述.
我试过没用成功:
- $this.closest('label').html()
- $this.prev('label').html()
- $this.find('label').html()
- this.element.find('label').html()
Run Code Online (Sandbox Code Playgroud)
这是我的代码.我正在讨论的部分是'标签是'部分......
function updateOrder(){
var items = '';
$('input').each(function(){
var $this = $(this),
i_value = $this.attr('value');
if(i_value > 0){
items += $this.attr('id') + ' Quantity: ' + i_value + '<br/>'
+ 'label is: ' + $this.closest('label').html() + '<br/>';
}
});
$('#d_reciept').html(items);
Run Code Online (Sandbox Code Playgroud)
}
和一个示例表单项
<tr>
<td class="td_thumbs">
<div>
<a class="fancybox" data-fancybox-group="vinyl-banners" href="img/products/vinyl-corporateblue.jpg"> <img src="img/products/thumbs/vinyl-corporateblue-thumb.png" alt="vinyl c-blue"/></a>
<label>Corporate Blue</label>
</div>
</td>
<td>6</td>
<td>
<input id="vinyl-blue" type="number" max="6" min="0" value="0"/> …Run Code Online (Sandbox Code Playgroud)