- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当内容添加到网页时,我需要触发一个 Action 。更新可能具有不同的性质(例如 AJAX、延迟脚本、用户操作)并且不受我的控制。
我想使用 DOM 突变事件,但它们并非在所有浏览器中都可用。是否有为此提供后备计划的跨浏览器库?
此外,我很想知道 Internet Explorer 9 是否支持这些 DOM 突变事件。
Cảm ơn!
1 Câu trả lời
有两种方法...
一,你可以拍摄dom的快照(var snap = document.body
),将其与100ms后的dom进行比较,然后将snap
重置为body再次。我会让您在如何比较它们方面发挥创意:迭代似乎是常见的答案。它不漂亮。
另一种选择是在您创建的任何函数中都有一个特殊函数,用于在您的应用程序中添加/删除元素。此函数将仅遍历您添加(或销毁)的元素并查找匹配项。
/* Shim matchesSelector */
if (!Element.prototype.matchesSelector) {
Element.prototype.matchesSelector =
Element.prototype.matches ||
Element.prototype.webkitMatchesSelector ||
Element.prototype.mozMatchesSelector ||
Element.prototype.msMatchesSelector ||
Element.prototype.oMatchesSelector;
}
function addingToDom(elm){
/* Whichever method you want to use to map selectors to functions */
var callbacks = array(['.class', fn-reference1], ['#id', fn-reference2], ['div', fn-reference3]);
/* go through all the elements you're adding */
for (var i = 0; i
/* go through all the selectors you're matching against */
for (var k = 0; k
if(elm[i].matchesSelector(callbacks[k][0])){
/* call function with element passed as parameter */
callbacks[k][1](elm[i]);
}
}
}
}
这可能并不完美,但它应该让您知道要去哪里。调用此函数 (addingToDom),将您刚刚添加的元素作为参数传递。创建一个类似的函数来删除元素(或相同的函数,但设置一个单独的回调数组)。
这是我用来测试一些想法的当前(大而杂乱)代码的推断。我已经用这个 shim 测试了早在 ie7 时的匹配选择器,它似乎工作得很好!
我已经考虑过但没有研究过元素具有某种参数的可能性,这些参数可以设置为添加时调用的函数,将自身作为参数传递。但是,这可能有些牵强。
关于dom - DOM 突变事件库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4424923/
Java 库和 android 库有什么区别,各自有什么优点/缺点? 最佳答案 您可以在 Android 应用程序中包含标准 Java .jar 文件库。它们在 .apk 构建时被翻译成 Dalvik
所以,我现在的代码就像从 Java 层加载库(比如 liba.so),并在内部 liba.so 加载 libb.so。因此,如果我必须将所有库打包到 APK 中并将其安装在没有 root 访问权限的设
我想在我的系统中设置 LEDA 库。 我已经从以下链接下载了 LEDA 库 http://www.algorithmic-solutions.info/free/d5.php Instruct
我想用 autoconf 创建一个共享库。但是,我希望共享库具有“.so”扩展名,而不是以“lib”开头。基本上,我想制作一个加载 dlopen 的插件。 .是否有捷径可寻? 当我尝试使用 autoc
我需要在 Apps 脚本应用程序上修改 PDF。为此,我想使用 JS 库:PDF-LIB 我的代码: eval(UrlFetchApp.fetch("https://unpkg.com/pdf-lib
我正在构建一个使用以下 Boost header 的程序(我使用的是 Microsoft Visual C++ 10), #include #include #include #include
Khi tôi chạy lệnh này trên hadoop thông qua cygwin: $bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[az.]+' I
Tôi đã cài đặt thành công thư viện C++ thông qua vcpgk có tên là: lmdb:x64-windows Tôi cũng đã cài đặt gói liên kết Haskell cho lmdb thông qua Cabal Khi thử kiểm tra gói lmdb:
Tôi có thể khắc phục điều này bằng cách nào? Tôi vừa sao chép tệp jar javacv vào thư mục Lib của dự án, nhưng lỗi này xuất hiện! Tôi có thể tìm thấy chủ đề này từ Google, nhưng thật không may, do chính sách hạn chế của Google ở quốc gia của tôi, nên không thể mở trang này
Tôi có một dự án thư viện Android là FooLib. FooLib tham chiếu đến những thứ như Android Context, nhưng không cần bất kỳ tệp tài nguyên nào (nội dung trong res/) nên hiện tại tôi đóng gói nó dưới dạng JAR để ứng dụng của tôi sử dụng
Tôi đang phát triển một ứng dụng Android (sử dụng Android Studio) có khả năng hiểu được Hoạt động bạn đang tham gia thông qua thuật toán nhận dạng cử chỉ. Đối với điều đó tôi đã sử dụng tài khoản ithub nickgillian có sẵn trên
Có nhiều câu hỏi tương tự về việc tham chiếu các thư viện lớp .NET Standard từ các dự án .NET Framework, trong đó các phụ thuộc gói NuGet trong thư viện netstandard không chảy vào netframework
Tôi đã tải jna-4.2.2.jar từ internet và bây giờ muốn nhập jar này vào dự án của mình. Nhưng khi tôi thử nhập jar này vào dự án của mình, tôi nhận được lỗi sau. [2016-06-20 09:35:01 - F
Tôi đang cố gắng cài đặt rsync 3.2.3 trên máy Mac bằng cách biên dịch nó. Tuy nhiên, tôi muốn cài đặt tất cả các tính năng. Để thực hiện điều này, cần có một số thư viện có sẵn tại đây (https://download.samba.org/pub/rsync/INSTA
Bắt đầu phát triển web có chút khó khăn. Tôi đã làm việc với Winforms trong 5 năm qua. Vì vậy, tôi đang cố gắng chuyển đổi từ cái này sang cái khác. Một thời gian trước, tôi đã sử dụng JavaScript, nhưng khi đó vẫn chưa có nhiều thư viện JavaScript.
Thật khó để biết nên hỏi gì ở đây. Câu hỏi này mơ hồ, không đầy đủ, quá rộng hoặc mang tính tu từ và không thể trả lời hợp lý theo hình thức hiện tại. Để được trợ giúp làm rõ vấn đề này để có thể mở lại, hãy truy cập trung tâm trợ giúp. Đóng 1
Tôi đang tìm một công cụ/thư viện được viết bằng Python tương tự như logstash (ruby+java). Mục tiêu của tôi là: phân tích tất cả các bản ghi hệ thống từ syslog phân tích các bản ghi cụ thể của ứng dụng (apache, django, m
Hiện tại, câu hỏi này không phù hợp với định dạng Hỏi & Đáp của chúng tôi. Chúng tôi mong đợi câu trả lời được hỗ trợ bởi các sự kiện, tài liệu tham khảo hoặc chuyên môn, nhưng câu hỏi này có thể gây ra tranh luận, tranh cãi, thăm dò ý kiến hoặc thảo luận mở rộng. Nếu bạn cảm thấy câu hỏi này có thể được cải thiện và có thể mở lại, hãy truy cập
Tôi đã mất vài ngày để tìm thư viện .jar cho việc triển khai JavaPOS, nhưng tôi không thể tìm thấy bất cứ thứ gì khả thi. Tôi tìm thấy rất nhiều tài liệu như thế này: http://jpos.1045706.n5.nabble.com/file/
Câu hỏi này đã có câu trả lời tại đây: Hợp nhất nhiều thư viện chia sẻ .so (2 câu trả lời) Đã đóng 9 năm trước. Tôi có mã nguồn và các đối tượng của thư viện bên thứ ba mà tôi sử dụng trong mã của mình. Thư viện có hướng dẫn về cách sử dụng
Tôi là một lập trình viên xuất sắc, rất giỏi!