2013-11-04 39 views
1

我有一個.js文件,它將幾個OnChange Events綁定到我的Controls如何繞過綁定的Javascript OnChange函數

現在我有一個function()這種情況正在改變所有這些Controls的...

我的問題是,現在所有的onchange events都fireing ...

做什麼選擇我解決這個問題,而不unbinding我所有的一切都是onChange Functions

示例代碼

$('#Sections,#Sections2,#Sections3,#Sections,4').bind('change', function() { 
    SomeAwesomeFunctionUnrelatedToTheOneBelow('CUSTOM'); 
}); 

然後從另一個(切換功能)後

function SetText(name, value) { 
    if (value != null) 
     { $('#' + name).val(value); } 
    else 
     { $('#' + name).val(''); } 
} 

在此之後executres所有4個平變化功能運行...我需要解決的辦法。

+0

你能告訴我們的代碼? – WannaCSharp

+0

你想對控件進行更新,而不需要更新這些更新來觸發'change'事件?是對的嗎? – lbstr

+0

@lbstr是的,這是正確的! – Pakk

回答

0

使用jQuery的Event Namespacing標記與命名空間的每個事件進行後面讓你未綁定(或觸發)只有特定的命名空間的change事件。

綁定:

// binding a 'change' event with 'ns1' namespace 
$('#some_element').bind("change.ns1", function() { ... }) 

// binding a 'change' event with 'ns2' namespace 
$('#some_element').bind("change.ns2", function() { ... }) 

取消綁定:

// un-binding only the 'change' event with 'ns1' namespace 
$('#some_element').unbind("change.ns1") 

// un-binding only the 'change' event with 'ns2' namespace 
$('#some_element').unbind("change.ns2") 
+0

我寧願不解除綁定。有沒有辦法我可以禁用所有控件/不允許更改功能運行? – Pakk