使用JQuery委托的标记ID
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JQuery委托的标记ID相关的知识,希望对你有一定的参考价值。
我正在使用JQuery的delegate函数将事件附加到标记。我有以下代码:
<div><g id="a_abc"><a xlink:href=" " xlink:title="<TABLE>">
<text text-anchor="start" x="59.1729" y="-35.4537" font-family="font-awesome" font-size="14.00" fill="#000000"></text>
</a>
</g></div>
我想将一个委托绑定到text
标签中的g
部分,类似于:
$("div").delegate("g.a_abc", "click",function(){
...
});
有没有办法通过id
属性做到这一点,还是我们必须有class
属性?因为上面的代码不起作用。将选择器设置为class
属性使javascript代码正常工作。
答案
这只是一个像任何其他人一样的selector。是的,你可以做到
$("div").delegate("#a_abc", "click", function() {
// ...
});
(或者g#a_abc
如果你想忽略id="a_abc"
元素,如果它不是g
元素。)
旁注:delegate
已被on
取代多年,现在已在v3.0中弃用。 on
语法反转选择器和事件:
$("div").on("click", "#a_abc", function() {
// ...
});
另一答案
将<text>
标记添加到选择器并使用id,如果这是你想要的
$("div").delegate("#a_abc text", "click", function() {
console.log(this)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div>
<g id="a_abc">
<a xlink:href=" " xlink:title="<TABLE>">
<text text-anchor="start" x="59.1729" y="-35.4537" font-family="font-awesome" font-size="14.00" fill="#000000"></text>
</a>
</g>
</div>
以上是关于使用JQuery委托的标记ID的主要内容,如果未能解决你的问题,请参考以下文章