本文整理汇总了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();
}
示例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();
}
示例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();
}
示例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();
}