我想在任何表單元素上有點擊事件時重新加載元素。任何人都可以用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