0

コードは次のとおりです。

1)jQuery:

<script src="Scripts/jquery.tools.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
    $(function() {
        // if the function argument is given to overlay,
        // it is assumed to be the onBeforeLoad event listener
        $("a[rel]").overlay({
            mask: 'gray',
            effect: 'apple',
            onBeforeLoad: function() {
                // grab wrapper element inside content
                var wrap = this.getOverlay().find(".contentWrap");
                // load the page specified in the trigger
                wrap.load(this.getTrigger().attr("href"));
            }
        });
        $("#target").keypress(function(event) {
            // F1 pressed
            if (event.keyCode == 112) {
                alert("Help");
            }
        });
    });
</script>

2)マークアップ:

<!-- external page is given in the href attribute (as it should be) -->
<a href="WebForm1.aspx" rel="#overlay" style="text-decoration:none">
  <!-- remember that you can use any element inside the trigger -->
  <button type="button">Show external page in overlay</button>
</a>

<!-- another link. uses the same overlay -->
<a href="WebForm2.aspx" rel="#overlay" style="text-decoration:none">
  <button type="button">Show another page</button>
</a>

<!-- overlayed element -->
<div class="apple_overlay" id="overlay">
  <!-- the external content is loaded inside this tag -->
  <div class="contentWrap"></div>
</div>

ページに2つのボタンがあり、それらのいずれかをクリックすると、テキストが表示された素敵な灰色のレイヤーが表示されます。助けを求めるのと同じようにF1を押しても同じことをしたいと思います。このサンプルメッセージボックスに表示されますが、灰色のレイヤーに置き換える必要があります。どうやってするか?

4

2 に答える 2

0

このようにします

$("body").keypress(function(event){
if(event.which == 12){  // keycode 12 for F1
  //trigger on click event 
   $("#element").click();
  //or write your code here
  code
 }
});
于 2013-01-31T08:55:00.173 に答える
0

別の関数を作成します。

function loadWrap (wrap) {
    var wrap = this.getOverlay().find(".contentWrap");

    // load the page specified in the trigger
    wrap.load(this.getTrigger().attr("href"));
}

次に、両方のイベント ハンドラーでこの関数を呼び出します。

onBeforeLoad: function() {
    // grab wrapper element inside content
    loadWrap(this);
}

//////////////////

$("#target").keypress(function(event) {
    // F1 pressed
    if (event.keyCode == 112) {
        loadWrap($("a[rel]").first());
    }
});
于 2013-01-31T08:53:01.657 に答える