DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> jquery應該如何來設置改變按鈕input的onclick事件
jquery應該如何來設置改變按鈕input的onclick事件
編輯:JavaScript基礎知識     
jquery應該如何來設置按鈕input的onclick事件?比如開始時有個按鈕: <input id=”prebt” type=”button” value=”上一頁” onclick=”ToPage(2)”/>這行代碼是在程序後台生成的,和Discuz!NT論壇源碼中的做法一樣,頁面上所有的東西連同腳本都是由後台代碼生成..然後用jquery.ajax加載到頁面上來..其他的除了ie8不能顯示之外..其它浏覽器都正常.現在的問題是:要動態改變這個上一頁按鈕中onclick的函數.我自己是嘗試了很多種方法,都沒有做出來,下面列舉的幾個都是失敗的例子:
1.JavaScript code:
復制代碼 代碼如下:
$(“#prebt”).unbind(“onclick”,function(){var p= $(“#nextbt”).parent();$(“#nextbt”).remove();
p.append(“<input id=\”nextbt\” type=\”button\” value=\”編輯\” onclick=\”ToPage(14)\”/>”)});
JavaScript code:
$(“#prebt”).removeAttr(“onclick”);
$(“#prebt”).attr(“onclick”,”ToPage(4)”);
或者:
$(“#prebt”).attr(“onclick”,”");
$(“#prebt”).attr(“onclick”,”ToPage(4)”);

2.JavaScript code:
復制代碼 代碼如下:
$(“#prebt”).removeAttr(“onclick”);
$(“#prebt”).click(function(){ToPage(4)}); //此句會導致死循環..不知是怎麼回事..
//我做的分頁功能…這樣寫導致數據一直在亂跳,應該怎樣來解決呢?

實在是沒有辦法了,只能是在網上發布了相關的請求,有朋友問我,是否我要的效果就如下面的:
復制代碼 代碼如下:
$(“#prebt”).unbind(“onclick”);
$(“#prebt”).bind(“onclick”,”ToPage(4)”);

其實我要的效果就是跟上面的一樣的,但是上面的方法跟我原本的效果是差不多的,也是沒辦法執行,而且根本都綁定不上去.
又有熱心的網友給了一個我代碼例子,說是對我有幫助,如下的細節:
XML/HTML code:
復制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
//<![CDATA[
function toPage(id){alert(id);}
$(function(){
$('#btndemo').removeAttr('onclick').unbind('click').click(function(){
toPage(1);
})
})
//]]>
</script>
</head>
<body>
<input id="btndemo" type="button" value="click" onclick="toPage(4)" />
</body>
</html>

以上在ie8中測試時,單擊時候結果為1,即使是這樣,但是還不是我原本所想要的效果。難道是真的沒有方法可以實現了嗎?
最終我還是自己給想出了一個比較笨的方法,可以實現的,如下:
復制代碼 代碼如下:
<span id=”prespan”><input id=”prebt” type=”button” value=”上一頁” onclick=”ToPage(2)”/></span>

然後後台程序自自動把prespan中的內容替換掉.
復制代碼 代碼如下:
$(‘#prespan').empty();
$(‘#prespan').append(“<input id=\”prebt\” type=\”button\” value=\”上一頁\” onclick=”\ToPage(4)\”/>”);

雖然沒有用到設置onclick.但最後還是解決了我的難題。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved