每当任何表单元素上有点击事件时,我都想重新加载一个元素。任何人都可以帮助我使用 jquery 语法吗?就像是
function addClickHandlers() {
$.publish('refreshDiv');
}
div 的 reloadTopic 设置为 refreshDiv
谢谢
每当任何表单元素上有点击事件时,我都想重新加载一个元素。任何人都可以帮助我使用 jquery 语法吗?就像是
function addClickHandlers() {
$.publish('refreshDiv');
}
div 的 reloadTopic 设置为 refreshDiv
谢谢
点击事件冒泡,所以你可以在表单元素上设置事件:
$('#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.
});
好吧,我可以用两种方式解释你的文字:
1)$.publish
在作为表单元素的子元素的任何元素上执行
$('form').children().click(function(){
$.publish('refreshDiv');
});
2)$.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');
});
我不知道发布,我从来没有在 jquery 中看到过这种代码,但是如果你想重新加载整个页面,那么你可以做跟随
<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);
});