1

次のコードは、最初のクリック イベントに対してのみ正常に機能します。ただし、その後のクリックでは何も起こりません。

<input type="submit" name="add" value="Add it" onClick="javascript:Add(); return false;">

function Add()
{
   $(function(){
    var dialogOpts = {
        width: 880,
        height: 270,
        minWidth: 880,
        minHeight: 270,
        maxWidth: 890,
        maxHeight: 300
    };
    $("#add").dialog(dialogOpts);
    });
 }

return false を削除すると:

<input type="submit" name="add" value="Add it" onClick="javascript:Add(); return false;">

Firefoxでは機能しますが、IE8ではウィンドウが1〜2秒間表示されてから消えます(キャッシュが消去され、すべて)。

私はこの問題についてこのウェブで多くの例を見つけましたが、私はそれらを適用するにはjqueryに慣れていないのではないかと心配しています:(

どうもありがとう

4

2 に答える 2

2

ダイアログをインスタンス化するには、次のように記述します。

$(function(){

    $diag = $("#add");
    var dialogOpts = {
        width: 880,
        height: 270,
        minWidth: 880,
        minHeight: 270,
        maxWidth: 890,
        maxHeight: 300,
        autoOpen: false
    };
    $diag.dialog(dialogOpts); // This instantiates the dialog once.
    //And then add this eventhandler:
    $("input[name='add']").click(function(){
       $diag.dialog('open');
    });
});

インラインonclickのものをすべて削除します-できる限り避けてください...

于 2012-07-10T11:31:01.853 に答える
0

コードの一部を削除したい :) "javascript:" は必要ありません

<input type="submit" name="add" value="Add it" onClick="Add();">

そしてオンドムの準備ができている部分は必要ありません

function Add()
{
    var dialogOpts = {
        width: 880,
        height: 270,
        minWidth: 880,
        minHeight: 270,
        maxWidth: 890,
        maxHeight: 300
    };
    $("#add").dialog(dialogOpts);
 }
于 2012-07-10T11:22:46.740 に答える