2012-08-08 34 views
0

我有UserControl的按鈕。我試圖用jQuery來捕捉這個按鈕的點擊事件。 我在ASCX代碼:在myjQueryCode.jsjQuery:捕捉來自usercontrol的點擊事件

<link type="text/css" href="css/jquery-ui-1.8.22.custom.css" rel="stylesheet" /> 
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script> 
<script type="text/javascript" src="js/jquery-ui-1.8.22.custom.min.js"></script> 
<script type="text/javascript" src="js/myjQueryCode.js"></script> 

<button id="test-button">Test</button> 

代碼。

我已經試過這樣:

$('#test-button').bind('click', function() { 
    alert("123"); 
}); 

這:

$("[id$=test-button]") 
    .button() 
    .click(function() { 
     alert("123"); 
}); 

這:

$('#test-button') 
    .button() 
    .click(function() { 
     alert("123"); 
}); 

沒有什麼工作。

+0

你能告訴我們生成的html嗎?並在您的代碼的哪部分添加了JavaScript。其次,如果您使用chrome用f12打開開發人員工具並檢查錯誤 – Jorge 2012-08-08 13:23:11

+0

aspx頁面中的相同代碼正常工作。 – user1439618 2012-08-08 13:23:15

+0

生成的html與ascx文件中的代碼完全相同。使用我的JavaScript代碼只添加js文件的鏈接。我想要這個代碼攔截按鈕點擊事件。 – user1439618 2012-08-08 13:33:39

回答

1

應該僅僅是:

$('#test-button').click(function() { 
    console.log('Click activated.'); 
}); 

確保代碼可以實際執行。例如,包裹語句的執行功能,像這樣:

(function() { 
    // Write code here 
}()); 

或者執行一次準備好文檔,就像這樣:

$(document).ready(function() { 
    // Write code here 
}); 
+0

$(document).ready(function(){alert('1')});什麼也不要做。請告訴我,這是什麼意思。 – user1439618 2012-08-08 16:56:21

+0

您的Javascript代碼未執行。也許你沒有在你的HTML中正確地包含

2

你有沒有試過把你的代碼放在$(document).ready()? 試試這個:

$(document).ready(function(){ 

    $('#test-button').bind('click', function() { 
     alert("123"); 
    }); 

}); 
+0

謝謝。但這也不行。 – user1439618 2012-08-08 14:18:29

+0

也許你正在動態地創建按鈕? 嘗試使用'.live()'而不是'.bind()'... – udidu 2012-08-08 14:21:36

+0

。live()不起作用。可以是aspx和ascx頁面之間的區別嗎?在aspx中,此代碼運行良好。 – user1439618 2012-08-08 14:34:23

0

嘗試的HTML代碼後,把你的腳本代碼 - 也許這將幫助...

0

之前的元素存在(因爲正在執行jQuery代碼<script>標籤位於您的按鈕的HTML之前),因此您需要將其包裝在DOM就緒事件處理程序中。像這樣:

$(document).ready(function() { 
    $('#test-button').bind('click', function() { 
     alert("123"); 
    }); 
}); 

欲瞭解更多信息,請查看了.ready()功能的API文檔和教程Getting Started with jQuery

+0

謝謝你的鏈接。但它不起作用。 – user1439618 2012-08-08 14:41:16

0

使用jQuery,而不是引用.button()你的第一個方法適用於的jsfiddle:http://jsfiddle.net/Cd5Qj/

所以很可能是要麼你打錯路徑jQuery庫的腳本標籤,或者你」再不包括jQuery的塊中的代碼,如:

$(function(){ 
    ... //code here 
}); 

...還是有一些衝突,我們不能檢查,因爲有你在這裏沒有顯示更多的代碼。