我有一个按钮放在
我想问题可能是按钮所在的组在某种程度上处于后台,但我不确定,因为这个问题也会出现在只添加一个
我还尝试直接将点击事件绑定到按钮上,但行为没有改变。
这是我的代码(这已经足够简化了): JSFiddle 如何更改代码,以便每次都可以触发点击事件(第一次点击)?
foreignObject
里的svg中,并通过D3将click事件附加到了foreignObject上。点击事件会触发,但只有第二次点击foreignObject时才会触发。第一次点击时会激活按钮(蓝色边框)。因此,一旦它被激活,只需要单击即可触发事件。我想问题可能是按钮所在的组在某种程度上处于后台,但我不确定,因为这个问题也会出现在只添加一个
<g>
的情况下。我还尝试直接将点击事件绑定到按钮上,但行为没有改变。
这是我的代码(这已经足够简化了): JSFiddle 如何更改代码,以便每次都可以触发点击事件(第一次点击)?
raise()
函数的原因是它会重新添加元素,这会阻止浏览器分发点击事件。您可以将raise
函数移动到dragged
函数中即可。 - Gerardo Furtado