0

JavaScript でイベント キューをクリアできますか? あるクリック イベントを実行してから別のクリック イベントを実行すると、「newfile.jpg」のような値がある場合でも、入力フィールドの値が未定義になります。

somevariable = $('#cke_104_textInput').val(); を実行して値を取得します。しかし、somevariable は未定義の値を取得します。

ここにJavaScriptコードがあります:

$(function () {
    // Handler for .ready() called.
    function changeLink() {
        link = $('#cke_104_textInput').val();
        if (link == "") {}
        else {
            link = link.replace("_", "/");
            parts = link.split('.');
            explodeExtension = parts[parts.length - 1];
            link = link.replace("/download/", "/download/" + explodeExtension + "/");
            link = link.replace("." + explodeExtension, "");
            $('#cke_104_textInput').val('');
            $('#cke_104_textInput').val(link);
            clearInterval(changelink);
        }
    }

    function changePic() {
        link = $('#cke_103_textInput').val();
        if (link == "") {}
        else {
            link = link.replace("_", "/");
            parts = link.split('.');
            explodeExtension = parts[parts.length - 1];
            link = link.replace("/download/", "/show/" + explodeExtension + "/");
            link = link.replace("." + explodeExtension, "");
            $('#cke_103_textInput').val('');
            $('#cke_103_textInput').val(link);
            clearInterval(changepic);
        }
    }
    $('#cke_60').live('click', function (event) {
        changelink = setInterval(function () {
            changeLink()
        }, 1000);
    });
    $('#cke_64').live('click', function (event) {
        changepic = setInterval(function () {
            changePic()
        }, 1000);
    });
});

コードでは、2 つの入力フィールドの内容を書き直そうとしています。ファイルはサイトのルート外にあり、サイトで表示またはダウンロードできるようにするには、URL を特定の形式にする必要があるため、これを行う必要があります。

4

2 に答える 2

0

最初の行の質問に答えるには、はい、できます。unbind()を見てください

于 2012-07-06T13:31:10.563 に答える
0

グローバル変数として作成linkしています。つまり、それ自体と衝突しています。

に変更link = $('#cke_104_textInput').val();var link = $('#cke_104_textInput').val();ます。

また、補足として、次のコードが 2 回あります。

$('#cke_104_textInput').val('');
$('#cke_104_textInput').val(link);

これは冗長で非効率的です。どちらの場合も最初の行を削除する必要があります。これは、要素の選択 (ID によるものであっても) は自由な操作ではないためです。

于 2012-07-06T13:33:10.253 に答える