我想在任何表单元素上有点击事件时重新加载元素。任何人都可以用jQuery语法帮助我吗? 像如何随时刷新页面中的元素'div' - jquery
function addClickHandlers() { $.publish('refreshDiv'); }
在div的reloadTopic设置为refreshDiv
感谢
我想在任何表单元素上有点击事件时重新加载元素。任何人都可以用jQuery语法帮助我吗? 像如何随时刷新页面中的元素'div' - jquery
function addClickHandlers() { $.publish('refreshDiv'); }
在div的reloadTopic设置为refreshDiv
感谢
Click事件冒泡,所以你可以设置事件表单元素上:
$('#myForm').click(function() {
$.publish('refreshDiv');
});
您也可以使用.delegate()
只捕捉某些元素的点击次数在表格中:
$('#myForm').delegate("input, select, textarea", "click", function() {
$.publish('refreshDiv');
});
为每个元素添加一个处理程序。
$('*').click(function() {
$.publish('refreshDiv');
return false; // to stop it from bubbling as we already handled it here.
});
使用通用选择器'*'是坏业力和约翰resig的精神可能来,并得到你如果这样做! – jAndy 2010-07-23 11:29:00
将点击处理程序应用于DOM中的每个*元素也是非常低效的。 – 2010-07-23 11:30:14
好吧,我可以从两个方面解读文本:
1),它是一个表单元素
$('form').children().click(function(){
$.publish('refreshDiv');
});
2)的孩子们上的所有执行$.publish
任何元素上执行$.publish
form elements
(与checkboxes, radio buttons, etc.
相同)
$('form').find('input').click(function(){
$.publish('refreshDiv');
});
像Andy E.建议的那样,它具有更好的性能delegate
click事件,所以减少event handlers
被约束。
3)
$('form').delegate('input', 'click', function(){
$.publish('refreshDiv');
});
你可以使用* delegate()*来获得更高效的'2)'。 – 2010-07-23 11:34:30
我没有想法关于发布和我从来没有见过这种代码在jQuery的,但如果u要重新加载整个页面那么在哪里做好后续的事
<button id="PageRefresh">Refresh a Page in jQuery</button>
<script type="text/javascript">
$('#PageRefresh').click(function() {
location.reload();
});
</script>
如果你想重新加载特定的div,那么我认为你应该在jQuery中使用ajax并重新加载div中的html。
$.post("/page", frm.serialize(), function(data) {
$("#ReminderProjectCount").html(data);
});
您通过重新加载了解什么?应该插入新的html数据?应该删除一个布局,添加? ... – Nealv 2010-07-23 12:21:44