jQuery, перетаскиваемый в Firefox 11, возвращает XrayWrapper - PullRequest
0 голосов
/ 27 марта 2012

Итак, у меня есть простая таблица, на которой я перетаскиваю строки.Что я хочу сделать, так это изменить что-то в event.target в функциях start и stop.Это легко работает в Chrome, потому что event.target возвращает строку таблицы.Однако в Firefox 11 (11? Это было быстро) он возвращает:

[11: 58: 22.135] [object XrayWrapper [object HTMLTableRowElement]]

Так что еслиЯ хотел изменить фон CSS, например, как бы я это сделал?

<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.18.custom.min.js">
</script>

<script>
$(document).ready(function(){

    $(".drag").draggable({
        helper: 'clone',
        axis: 'y',
        revert: true,
        start: function(event, ui){
            console.log(event.target);
        },
        stop: function(event, ui){
            console.log(XPCNativeWrapper.unwrap(event.target.style));
        }
    });
});

</script>

<html>

<table>
<tr class="drag">
<td> one </td>
<td> one </td>
<td> one </td>
<td> one </td>
<td> one </td>
</tr>

<tr class="drag">
<td> two </td>
<td> two </td>
<td> two </td>
<td> two </td>
<td> two </td>
</tr>

<tr class="drag">
<td> three </td>
<td> three </td>
<td> three </td>
<td> three </td>
<td> three </td>
</tr>

<tr class="drag">
<td> fourve </td>
<td> fourve </td>
<td> fourve </td>
<td> fourve </td>
<td> fourve </td>
</tr>

<tr class="drag">
<td> six </td>
<td> six </td>
<td> six </td>
<td> six </td>
<td> six </td>
</tr>
</table>
</html>

Печать на консоли:

[11: 58: 22.135] [object XrayWrapper [objectHTMLTableRowElement]]

[11: 58: 23.753] [object XrayWrapper [object CSSStyleDeclaration]]

Обратите внимание, что развертывание, похоже, ничего не делает (одно из нескольких исправлений, которые янашел в гугле).Так как же мне развернуть этот объект или не обернуть его в первую очередь, чтобы я мог испортить CSS?

1 Ответ

1 голос
/ 28 марта 2012

Смысл XrayWrapper в том, чтобы дать вам настоящее представление узла DOM. Так, в частности, получение .style должно работать точно так, как вы ожидаете: он возвращает XrayWrapper вокруг CSSStyleDeclaration, а установка его .background должна изменить фон.

...