0

わかりました、私はまだこの jquery フォト マネージャーに取り組んでいます。ここでオリジナルの完全な仕組みを見ることができますhttp://jqueryui.com/demos/droppable/#photo-manager

これが私が抱えている問題です。各画像にラジオボタンを含めました。なぜクリックしてラジオボタンを変更できないのか疑問に思いながら、壁に頭をぶつけていました。今、私はこれを引き起こしていることに気づきました。これは、この部分を追加したコードのこの部分です

else if ($target.is("input.ismainchk")) {
            //recycleImage($item);
        }

ラジオボタンがクリックされたときに別の機能を起動する必要はありません。ラジオボタンをクリックする必要があるだけです

ここにHTMLの一部を示しますので、私が何を扱っているかがわかります。

    <ul id="gallery" class="gallery ui-helper-reset ui-helper-clearfix ui-droppable">
<li id="d386f25f-66b8-429d-aaa9-c0552a4839fa" class="ui-widget-content ui-corner-tr ui-draggable" style="width: 96px; display: list-item;">
<h5 class="ui-widget-header">
<input id="textd386f25f-66b8-429d-aaa9-c0552a4839fa.jpg" class="ghost-text" type="text" size="13" defaultval="Picture Headline" maxlength="150" style="color: grey;">
</h5>
<img id="../userimages/d386f25f-66b8-429d-aaa9-c0552a4839fa.jpg" width="96" height="72" src="../userimages/d386f25f-66b8-429d-aaa9-c0552a4839fa.jpg">
<a class="ui-icon ui-icon-zoomin" href="images/high_tatras4.jpg" title="View larger image">View larger</a>
<input id="d386f25f-66b8-429d-aaa9-c0552a4839fa.jpgmain" class="ismainchk" type="radio" title="Main Img" name="maingroup">
<a class="ui-icon ui-icon-trash" title="Delete this image" href="link/to/trash/script/when/we/have/js/off">Delete image</a>
</li>

これは、問題を引き起こしている JQuery の一部です。

        // resolve the icons behavior with event delegation
    $("ul.gallery > li").click(function (event) {
        var $item = $(this),
            $target = $(event.target);

        if ($target.is("a.ui-icon-trash")) {
            deleteImage($item);
        } else if ($target.is("a.ui-icon-zoomin")) {
            viewLargerImage($target);
        } else if ($target.is("a.ui-icon-refresh")) {
            recycleImage($item);
        } else if ($target.is("input.ismainchk")) {
            //recycleImage($item);
        }

        return false;
    });
4

1 に答える 1

0

これを数日間調査した後、試行錯誤の末に答えを見つけました。戻り値 false; 最後に、ラジオボタンがチェックされないようにしていました。return false を特に必要とする個々の項目に移動すると、ラジオ ボタンをチェックできるようになりました

        $("ul.gallery > li").click(function (event) {
        var $item = $(this),
            $target = $(event.target);

        if ($target.is("a.ui-icon-trash")) {
            deleteImage($item);
            return false;
        } else if ($target.is("a.ui-icon-zoomin")) {
            viewLargerImage($target);
            return false;
        } else if ($target.is("a.ui-icon-refresh")) {
            recycleImage($item);
            return false;
        }           

    });
于 2012-04-27T15:23:03.377 に答える