簡體   English   中英

此代碼段的JQuery代碼是什么?

[英]What is the JQuery code for this snippet?

我有一個父頁面,其中包含一個文本區域和一個打開子窗口的鏈接。 子窗口具有另一個文本區域和一個按鈕。 用戶在子窗口的文本區域中輸入一些文本,然后單擊按鈕,將觸發一個javascript,該javascript用子窗口的文本區域的內容更新父窗口中文本區域的內容,並關閉子窗口。

我目前正在用javascript執行此操作,並且效果很好,但是由於我們將很快轉向jQuery,因此如何使用jQuery實現相同的效果。

page1.html
----------

<script type="text/javascript">
    function newwin() {
        window.open('page2.html','','width=600');
    }
</script>
<body> 
    <textarea id='t1'>
    <a href="javascript:void(0)" onclick="newwin();">Click here</a> 

</body>


page2.html
----------
<script type="text/javascript">
    function updateparent() {
        window.opener.document.getElementById('t1').value = document.getElementById('t2').value;
        window.close();
    }
</script>
<body> 
    <textarea id='t2'>
    <input type="submit" onclick="updateparent();"> 
</body>

有趣的問題。

正如Domonic Roger所提到的,如果它起作用了,那么您可能想離開它。

對我來說,問題不是“此代碼段的JQuery代碼是什么?”,而是我如何使用jQuery實現相同的解決方案。

有時,這不只是簡單的代碼替換的簡單情況。 采取以下措施:

function updateparent() { 
    window.opener.document.getElementById('t1').value = document.getElementById('t2').value; 
    window.close(); 
} 

現在,jQuery代碼可能是這樣的:

function updateparent() { 
    window.opener.$("#t1").val($("#t2").val());
    window.close(); 
} 

但是,我不會這樣做。 我將使用jQuery UI中可用的彈出窗口功能或某些插件(例如blockui )來實現彈出窗口。

另外,此代碼:

<body>  
    <textarea id='t2'> 
    <input type="submit" onclick="updateparent();">  
</body>

在jQuery中,我們鼓勵使用事件的后期綁定,因此任何內聯JavaScript都可以使用:

<body>  
    <textarea id='t2'> 
    <input id="MyInput" type="submit">  
</body>

准備好文檔后,將其綁定:

$(document).ready(function(){
    $("#MyInput").click(updateparent());
});

一種更“ jquery”的方法來做到這一點:

page1.html
----------

<script type="text/javascript">
$(document).ready(function() {

    $("#link1").click(function(){
        window.open('page2.html','','width=600');    
    });
});
</script>
<body> 
    <textarea id='t1'>
    <a id="link1" href="#">Click here</a> 

</body>


page2.html
----------
<script type="text/javascript">
$(document).ready(function() {
    $("#link1").click(function(){
        window.opener.jQuery("#t1").val($("#t2").val());    
        window.close();
    });

});
</script>
<body> 
    <textarea id='t2'>
    <input type="submit" id="link2"> 
</body>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM