Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Накопление $(document).mouseup(up); (https://javascript.ru/forum/misc/33384-nakoplenie-%24-document-mouseup-up-%3B.html)

Tek 21.11.2012 12:41

Накопление $(document).mouseup(up);
 
Собственно иметься такая конструкция:
up = function() {
	alert("ss");
	position_left_block = target.position().left;
	position_left_top = target.position().top;
	if (position_left_top > 0 && position_left_top < 100){
		if (on_place == false){
			check_block();
		}else{
			hide_info(last_block,"show");
		}
	}
        $(document).unbind('mousemove');
    }, 
down = function(e) {
        // запоминаем блок
		target = $(this);
        click_of_l = e.pageX - (($(document).width()-1000)/2)- this.offsetLeft;
		//click_of_t = $(window).height()/2 -e.pageY - this.offsetTop;
		// вешаем события
        $(document).mousemove(move).mouseup(up);
    };

// повешали событие на нажатие по блоку
$blocks.mousedown(down);

При первом mouseup функция up отрабатывает 1 раз, при втором 2 и тд. подскажите в чем может быть причина?

Serg_pnz 21.11.2012 13:32

Для неоднократно динамически-подгружаемых скриптов
$(document).off ('mousemove.trololo').on('mousemove.trololo', function () {})

Serg_pnz 21.11.2012 14:55

в том порядке, как я написал всё работает, проверено неоднократно

Вот с реального проекта кусок, где вообще в цепочку события.

$.ajax({
			url: 'php/chatIn.php',
			type: 'post',
			success: function(msg){
				var result = $.parseJSON(msg);
				$('#MessChat')
					.html(result.html)
					.off('click', '#MessChatOk')
					.on('click', '#MessChatOk', function(){
						$.goMessIn();
					})
					.off('focus paste input propertychange', '#MessChatIn')
					.on('focus paste input propertychange', '#MessChatIn', function(){
//много кода
						}
					})
					.off('keydown')
					.on('keydown', function(event){
						if (event.keyCode == 17) {
// и т.д.


Игру как бы начал разрабатывать, так там сюжет, что вообще всё без перезагрузки.
Может я и не прав в архитектуре, но сабж работает.

Tek 21.11.2012 17:21

Всем спасибо, до этого с on off не встречался


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