如何刷新“div”每当单击页面中的元素时 - jquery

发布于 2024-09-11 06:40:56 字数 189 浏览 8 评论 0原文

我想在任何表单元素上发生单击事件时重新加载元素。谁能帮我解决 jquery 语法问题? 类似

function addClickHandlers() { $.publish('refreshDiv'); }

其中div的reloadTopic设置为refreshDiv,

谢谢

i wanted to reload an element whenever there is a click event on any form element. can anyone help me with the jquery syntax?
something like

function addClickHandlers() {
$.publish('refreshDiv');
}

where the div's reloadTopic is set to refreshDiv

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

空城仅有旧梦在 2024-09-18 06:40:56

点击事件会冒泡,因此您只需在表单元素上设置事件即可:

$('#myForm').click(function () {
    $.publish('refreshDiv'); 
});

您还可以使用 .delegate() 来仅捕获表单中某些元素的点击:

$('#myForm').delegate("input, select, textarea", "click", function () {
    $.publish('refreshDiv'); 
});

Click events bubble up, so you can just set the event on the form element:

$('#myForm').click(function () {
    $.publish('refreshDiv'); 
});

You could also use .delegate() to only catch clicks from certain elements within the form:

$('#myForm').delegate("input, select, textarea", "click", function () {
    $.publish('refreshDiv'); 
});
风铃鹿 2024-09-18 06:40:56

为每个元素添加一个处理程序。

$('*').click(function () {
    $.publish('refreshDiv'); 
    return false; // to stop it from bubbling as we already handled it here.
});

Add a handler to every element.

$('*').click(function () {
    $.publish('refreshDiv'); 
    return false; // to stop it from bubbling as we already handled it here.
});
风吹雨成花 2024-09-18 06:40:56

我不知道发布,我从来没有在 jquery 中见过这种代码,但如果你想重新加载整个页面,那么你可以做以下事情

<button id="PageRefresh">Refresh a Page in jQuery</button>

<script type="text/javascript">

    $('#PageRefresh').click(function() {

              location.reload();

    });

</script>

,如果你想重新加载特定的 div 那么我认为你应该在 jquery 中使用 ajax 并重新加载 html在分区中。

$.post("/page", frm.serialize(), function(data) {
                    $("#ReminderProjectCount").html(data);
            });

I dont have idea about publish and i never seen this kind of code in jquery but if u want to reload whole page then u can do follow thing

<button id="PageRefresh">Refresh a Page in jQuery</button>

<script type="text/javascript">

    $('#PageRefresh').click(function() {

              location.reload();

    });

</script>

and if u want reload particular div then i think u should use ajax in jquery and reload the html in div.

$.post("/page", frm.serialize(), function(data) {
                    $("#ReminderProjectCount").html(data);
            });
留一抹残留的笑 2024-09-18 06:40:56

好吧,我可以用两种方式解释您的文本:

1)在作为表单元素子元素的任何元素上执行 $.publish

$('form').children().click(function(){
   $.publish('refreshDiv');
});

2)在所有元素上执行 $.publish 表单元素(例如复选框、单选按钮等

$('form').find('input').click(function(){
   $.publish('refreshDiv');
});

就像Andy E.建议的那样,它在委托点击事件方面具有更好的性能,因此绑定的事件处理程序更少。

3)

$('form').delegate('input', 'click', function(){
   $.publish('refreshDiv');
});

Well, I can interpret your text in two ways:

1) execute $.publish on any element which is a children of a form element

$('form').children().click(function(){
   $.publish('refreshDiv');
});

2) execute $.publish on all form elements (like checkboxes, radio buttons, etc.)

$('form').find('input').click(function(){
   $.publish('refreshDiv');
});

Like Andy E. suggested, it has a better performance to delegate the click event, so less event handlers are bound.

3)

$('form').delegate('input', 'click', function(){
   $.publish('refreshDiv');
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文