1

Simplemodalがウィンドウを開き、「onShow」フィールドにコールバック関数を入力したときに関数を実行したいと思います。以下の例では、アラートノートを入力しただけです。つまり、シンプルモーダルウィンドウを開くたびに、アラートが発生するはずです。

ただし、これは1回だけ実行されているようです。モーダルが開いてから閉じてから再度開いた場合、再度開くと、このメソッドは後続のオープンでは呼び出されません。

この動作を確認するには、以下のhtmlを切り取ってドキュメントに貼り付けてください(モーダルウィンドウを閉じてから、[モーダルウィンドウを開く]ボタンをクリックします)。

ウィンドウが開かれるたびにonShowを実行できるようにするために何が欠けていますか?

<html xmlns="http://www.w3.org/1999/xhtml">
<head>

 <link type="text/css" href="ttp://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script>
    <script src='http://www.ericmmartin.com/simplemodal/js/jquery.simplemodal.js' type='text/javascript'></script>
    <script src='http://www.ericmmartin.com/simplemodal/js/basic.js' type='text/javascript'></script>


    <link type='text/css' href='ttp://www.ericmmartin.com/simplemodal/css/basic.css' rel='stylesheet' media='screen' />



<script type="text/javascript">


$().ready(function() {

    $('#basic-modal input.basic, #basic-modal a.basic').click(function (e) {
        e.preventDefault();
        $('#basic-modal-content').modal();
    });

    $('#basic-modal-content').modal({onShow: 

    function(dialog) { 
    alert('hello');


}}); 



});

</script>
</head>

<body>

  <div id='basic-modal-content'>
  <input type="text" id="amount" style="border:0; color:#ffffff; font-weight:bold; width: 40px; background: #aaaaaa;" />
  <div id="slider-vertical" style="height:200px;"></div>
  </div>

  <div id='basic-modal'>
    <h2>Basic Modal Dialog</h2>
        <form action='download/' method='post'>
            <input type='button' name='basic' value='Show modal' class='basic demo'/>
        </form>
  </div>
</body>

4

2 に答える 2

2

私のサイトから読み込んでいる basic.js を削除する必要があります。それはあなたのコードと競合しています。

于 2009-09-17T18:04:04.127 に答える
0

onShowモーダルを呼び出すたびにオプションを使用したいと思います。

$('#basic-modal input.basic, #basic-modal a.basic').click(function (e) {
    e.preventDefault();
    $('#basic-modal-content').modal({ 
      onShow: function(dialog) { 
        alert('hello');
      }
    });
});
于 2009-09-14T23:54:32.497 に答える