Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Raphaël вопрос по paper.clear() (https://javascript.ru/forum/misc/25279-rapha%C3%ABl-vopros-po-paper-clear.html)

tav25 31.01.2012 14:11

Raphaël вопрос по paper.clear()
 
Почеум после paper.clear() кликая по С не происходит никаких событий (alert("OK")).
<script src="raphael.js"></script>
<script src="jquery-1.2.3.js"></script>
<style media="screen">
#canvas {
height: 250px;
width: 250px;
background-color: #CFCFCF;
}
</style>
<script>
$(document).ready(function(){
var paper = Raphael("canvas"); 
function line_nul() {
c=paper.circle(10, 12, 5).attr("fill", "#76EE00");//зеленый
c2=paper.circle(10, 32, 5).attr("fill", "#FF8C00");//оранжевый

};

line_nul()  
c2.click(function() {
paper.clear();
line_nul()
alert("отчистил и перезаписал")    
})

c.click(function() {
alert("OK")   
})
   
})</script>
<div id="canvas"></div>

Pavel M. 31.01.2012 16:19

попробовал http://jsfiddle.net/EQAyq/
alert выскакивает

tav25 31.01.2012 16:42

Цитата:

Сообщение от Pavel M. (Сообщение 154326)
попробовал http://jsfiddle.net/EQAyq/
alert выскакивает

нажимаем на зеленую "ОК", нажимаем на оранж. "отчистил перезаписал",
но потом если нажать на зеленую или оранж. ничего не просходит, почему?

irezvov 31.01.2012 17:02

потому что в line_nul ты лишь перерисовываешь кружочки, но не вешаешь на них события заново

tav25 31.01.2012 17:13

Цитата:

Сообщение от irezvov (Сообщение 154338)
потому что в line_nul ты лишь перерисовываешь кружочки, но не вешаешь на них события заново

как повесть эти события?
если не тяжело можно показать на моем примере.

irezvov 31.01.2012 17:16

var paper = Raphael("canvas");

function line_nul() {
c=paper.circle(10, 12, 5).attr("fill", "#76EE00");//зеленый
c2=paper.circle(10, 32, 5).attr("fill", "#FF8C00");//оранжевый
c2.click(function() {
    paper.clear();
    line_nul()
    alert("отчистил и перезаписал")   
});
 
c.click(function() {
    alert("OK")  
})
};
 
line_nul()

tav25 31.01.2012 17:32

Спасибо, все гениальное просто.


Часовой пояс GMT +3, время: 20:27.