似乎触发事件不适用于snap.svg?
基本上我想要的是触发一个click事件,但似乎没有使用snap.svg或我做错了什么.
我无法解决它.
那怎么办呢?
var s=Snap("#svg");
var rect=s.rect(0, 0, 100,600)
rect.attr({
fill:"#212121"
});
var animating = true;
function aniOn() {
if (animating) {
rect.animate({
width: 400
}, 1000, mina.elastic);
};
}
function aniOff() {
if (animating) {
rect.animate({
width: 100
}, 1000, mina.elastic);
};
}
rect.click(function() {
animating = true;
aniOn()
});
rect.mouseout(function() {
animating = true;
aniOff()
});
$("#button").click(function() {
rect.trigger('click');
});Run Code Online (Sandbox Code Playgroud)
html,
body {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
#svg {
position:absolute;
}
#button {
margin-left:200px;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/snap.svg/0.3.0/snap.svg-min.js"></script>
<svg id="svg" width="200" height="100%" >
</svg>
<button id="button">Click</button>Run Code Online (Sandbox Code Playgroud)
rect不被 jQuery 识别为元素,您应该使用选择器来选择它,例如$('rect')或 如果您想更具体,并且您需要在函数和$('#svg rect')中执行此操作,因此它将类似于这:.click().trigger()
var s=Snap("#svg");
var rect=s.rect(0, 0, 100,600)
rect.attr({
fill:"#212121"
});
var animating = true;
function aniOn() {
if (animating) {
rect.animate({
width: 400
}, 1000, mina.elastic);
};
}
function aniOff() {
if (animating) {
rect.animate({
width: 100
}, 1000, mina.elastic);
};
}
$('rect').click(function() {
animating = true;
aniOn();
console.log('clicked!') // I've added this for demonstration purpose
});
rect.mouseout(function() {
animating = true;
aniOff()
});
$("#button").click(function() {
$('rect').trigger('click');
});Run Code Online (Sandbox Code Playgroud)
html, body { height: 100%; width: 100%; margin: 0; padding: 0; }
#svg { position:absolute; }
#button { margin-left:200px; }Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/snap.svg/0.3.0/snap.svg-min.js"></script>
<svg id="svg" width="200" height="100%" ></svg>
<button id="button">Click</button>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
658 次 |
| 最近记录: |