Используя jQuery, установка Draggable на элементе предотвращает размытие при нажатии на перетаскиваемый элемент - PullRequest
3 голосов
/ 12 ноября 2009

Используя jQuery, когда вы устанавливаете событие размытия в текстовом поле и устанавливаете другой элемент как перетаскиваемый, когда вы щелкаете по перетаскиваемому элементу, событие размытия не запускается в FireFox. IE немного лучше, вы получаете событие размытия, но вы не получаете событие click для перетаскиваемого элемента.

Если вы не укажете cancel: "" в перетаскиваемом конструкторе, вы запустите событие размытия, но тогда элемент, который вы хотите перетащить, не будет перетаскиваемым.

jQuery v1.3.2 Пользовательский интерфейс jQuery v1.7.2

Строки console.log предназначены для плагина FireBox FireBox.

<HTML> 
    <HEAD> 
        <TITLE>Blur/Click Workbench</TITLE> 
        <script src="js/jquery.js" type="text/javascript" ></script>
        <script src="js/ui/ui.core.js" type="text/javascript"></script>
        <script src="js/ui/ui.draggable.js" type="text/javascript"></script>
        <script type="text/javascript"> 
function blurring() {
    console.log('1 - blurring - ' + $( this ).attr('id'));
}

function clicking() {
    console.log('2 - clicking - ' + $( this ).attr('id'));
}

$(document).ready(function() {
    $( ".draggableTool" ).draggable( { cancel: "" } );

    $( '.property' ).blur( blurring );
    $( '#labelContainer' ).click( clicking );
});
        </script>
    </HEAD>
    <BODY>
        <input type='text' class='property' id='tb1' />
        <br />
        <input type='text' class='property' id='tb2' />
        <br />
        <label class='draggableTool' id='labelContainer' style='height:20px;position:absolute;'>
            <textarea id='taLabel' style='height:100%;background-color:white;border:1px solid grey;'>Label</textarea>
        </label>
    </BODY>
</HTML>

Ответы [ 2 ]

5 голосов
/ 30 октября 2010

У меня была такая же проблема. Это ошибка. Для решения см. Здесь: http://dev.jqueryui.com/ticket/4261

0 голосов
/ 12 ноября 2009

Возможно, перетаскиваемый ярлык не фокусируется. Попробуйте добавить к нему атрибут tabindex. Таким образом, когда вы нажимаете на нее, она приобретает фокус (и, следовательно, размывает другие элементы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...