当前位置: 首页>>代码示例>>C#>>正文


C# MutationObserver.Trigger方法代码示例

本文整理汇总了C#中AngleSharp.Dom.MutationObserver.Trigger方法的典型用法代码示例。如果您正苦于以下问题:C# MutationObserver.Trigger方法的具体用法?C# MutationObserver.Trigger怎么用?C# MutationObserver.Trigger使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AngleSharp.Dom.MutationObserver的用法示例。


在下文中一共展示了MutationObserver.Trigger方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: MutationObserverChildlistCallback

        public void MutationObserverChildlistCallback()
        {
            var document = Html("");
            var testDiv = document.Body.AppendChild(document.CreateElement("div"));
            var div = testDiv.AppendChild(document.CreateElement("div"));
            var child = div.AppendChild(document.CreateElement("div"));
            var grandChild = document.CreateElement("span");
            var i = 0;
            var observer = new MutationObserver((records, obs) =>
            {
                Assert.LessOrEqual(++i, 2);
                Assert.AreEqual(2, records.Count());

                AssertRecord(records[0], new TestMutationRecord
                {
                    Type = "childList",
                    Target = div,
                    Removed = ToNodeList(child)
                });

                AssertRecord(records[1], new TestMutationRecord
                {
                    Type = "childList",
                    Target = child,
                    Added = ToNodeList(grandChild)
                });

                // The transient observers are removed before the callback is called.
                child.RemoveChild(grandChild);

                records = obs.Flush().ToArray();
                Assert.AreEqual(0, records.Count());
            });
            observer.Connect(div, new MutationObserverInit
            {
                IsObservingChildNodes = true,
                IsObservingSubtree = true
            });
            div.RemoveChild(child);
            child.AppendChild(grandChild);
            observer.Trigger();
        }
开发者ID:JackieyLi,项目名称:AngleSharp,代码行数:42,代码来源:MutationObserver.cs

示例2: MutationObserverAttrMakeSureTransientGetsRemoved

        public void MutationObserverAttrMakeSureTransientGetsRemoved()
        {
            var document = Html("");
            var testDiv = document.Body.AppendChild(document.CreateElement("div"));
            var div = testDiv.AppendChild(document.CreateElement("div"));
            var child = document.CreateElement("div");
            div.AppendChild(child);
            var i = 0;
            var observer = new MutationObserver((records, obs) =>
            {
                Assert.AreNotEqual(2, ++i);
                Assert.AreEqual(records.Count(), 1);

                AssertRecord(records[0], new TestMutationRecord
                {
                    Type = "attributes",
                    Target = child,
                    AttributeName = "a",
                    AttributeNamespace = null
                });
            });

            observer.Connect(div, new MutationObserverInit
            {
                IsObservingAttributes = true,
                IsObservingSubtree = true
            });

            div.RemoveChild(child);
            child.SetAttribute("a", "A");
            observer.Trigger();

            var div2 = document.CreateElement("div");
            var observer2 = new MutationObserver((records, obs) =>
            {
                Assert.LessOrEqual(++i, 3);
                Assert.AreEqual(records.Count(), 1);

                AssertRecord(records[0], new TestMutationRecord
                {
                    Type = "attributes",
                    Target = child,
                    AttributeName = "b",
                    AttributeNamespace = null
                });
            });

            observer2.Connect(div2, new MutationObserverInit
            {
                IsObservingAttributes = true,
                IsObservingSubtree = true,
            });

            div2.AppendChild(child);
            child.SetAttribute("b", "B");
            observer2.Trigger();
        }
开发者ID:JackieyLi,项目名称:AngleSharp,代码行数:57,代码来源:MutationObserver.cs

示例3: MutationObserverCharacterdataCallback

        public void MutationObserverCharacterdataCallback()
        {
            var document = Html("");
            var div = document.CreateElement("div");
            var child = div.AppendChild(document.CreateTextNode("text"));
            var i = 0;
            var observer = new MutationObserver((records, obs) =>
            {
                Assert.LessOrEqual(++i, 2);
                Assert.AreEqual(1, records.Count());

                AssertRecord(records[0], new TestMutationRecord
                {
                    Type = "characterData",
                    Target = child
                });

                // The transient observers are removed before the callback is called.
                child.TextContent += " again";
                records = obs.Flush().ToArray();
                Assert.AreEqual(0, records.Count());
            });
            observer.Connect(div, new MutationObserverInit
            {
                IsObservingCharacterData = true,
                IsObservingSubtree = true
            });
            div.RemoveChild(child);
            child.TextContent = "changed";
            observer.Trigger();
        }
开发者ID:JackieyLi,项目名称:AngleSharp,代码行数:31,代码来源:MutationObserver.cs

示例4: MutationObserverAttrCallback

        public void MutationObserverAttrCallback()
        {
            var document = Html("");
            var testDiv = document.Body.AppendChild(document.CreateElement("div"));
            var div = testDiv.AppendChild(document.CreateElement("div"));
            var child = document.CreateElement("div");
            div.AppendChild(child);
            var i = 0;
            var observer = new MutationObserver((records, obs) =>
            {
                Assert.LessOrEqual(++i, 2);
                Assert.AreEqual(1, records.Count());

                AssertRecord(records[0], new TestMutationRecord
                {
                    Type = "attributes",
                    Target = child,
                    AttributeName = "a",
                    AttributeNamespace = null
                });

                // The transient observers are removed before the callback is called.
                child.SetAttribute("b", "B");
                records = obs.Flush().ToArray();
                Assert.AreEqual(0, records.Count());
            });

            observer.Connect(div, new MutationObserverInit
            {
                IsObservingAttributes = true,
                IsObservingSubtree = true
            });

            div.RemoveChild(child);
            child.SetAttribute("a", "A");
            observer.Trigger();
        }
开发者ID:JackieyLi,项目名称:AngleSharp,代码行数:37,代码来源:MutationObserver.cs


注:本文中的AngleSharp.Dom.MutationObserver.Trigger方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。