微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – html元素内容更改事件

我需要知道内容更改我的div元素的事件,我怎么能用 jquery做?
<div id="mydiv">text before</div>

一段时间后

<div id="mydiv>other content</div>

我这样做

$("#mydiv").change(function() { alert('yes'); });

通过不起作用

(function(){

            var interval;

        jQuery.event.special.contentchange = {
            setup: function(data,namespaces) {
                    var $this = $(this);
                var $originalContent = $this.text();
                interval = setInterval(function(){
                    if($originalContent != $this.text()) {
                            console.log('content changed');
                            $originalContent = $this.text();
                            jQuery.event.special.contentchange.handler();
                    }
                },500);
            },teardown: function(namespaces){
                clearInterval(interval);
            },handler: function(namespaces) {
                jQuery.event.handle.apply(this,arguments)
            }
        };

    })();

$("#mydiv").bind("contentchange",function() {
   alert('yes'); ///no alert! why?
});

但我在控制台看到日志!

解决方法

更改元素的内容后,您可以触发自定义事件:
var $mydiv = $("#mydiv"); 

// set up the custom event handler
$mydiv.bind("contentchange",function() {
    alert("changed");
});

// change the content and trigger a custom event
$mydiv.html("other content").trigger("contentchange");

// and again
$mydiv.html("yet other content").trigger("contentchange");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐