如何在v1.6中的'load'上执行jQuery(在“on”之前引入)?

时间:2017-01-06 11:19:41

标签: javascript jquery html svg

我的HTML正文中有一个SVG对象

<object id="svg-map" type="image/svg+xml" data="documents/map.svg">Your browser does not support SVGs</object>

当对象加载时,我尝试了几种不同的方法来触发函数。使用对象元素上的onload属性(yuck!)。使用JS addEventListener可以正常工作。但是在加载时使用jQuery是行不通的。

//Method 2: FAIL (v1.6)
$("#svg-map").on("load", function() {
   alert("loaded2");
});
//Method 3: FAIL (v1.6)
$("#svg-map").load(function() {
   alert("loaded3");
});
//Method 4: SUCCESS
$("#svg-map")[0].addEventListener("load", function() {
   alert("loaded4");
});

我被警告过将本机javascript事件处理程序与jquery混合,但我不确定为什么。有什么理由我不应该使用上面的方法4吗?

有没有办法在版本1.6中使用jQuery执行此操作?

1 个答案:

答案 0 :(得分:0)

我记得在跳入.on之前使用.bind和.delegate 你试过吗?

.bind("load", function() { .delegate("load", function() {