當插件/小部件需要使用自定義「事件」方法而不是標準jQuery事件時,我無法找出正確的語法。使用插件的自定義事件方法的語法
jQuery UI MultiSelect Widget不支持change
方法,而是提供一個click
事件,該事件在複選框被選中或未選中時觸發。我試圖使用窗口小部件的文檔中提供的語法來處理click
事件,這樣我就可以替換幾個更改函數,包括下面顯示的那個函數,但是我很難找出正確的語法。爲click
事件的結構是:
$("[name=Item]").on("multiselectclick", function (event, ui) {...});
我試過在大括號之間插入的功能,我也試着.on("multiselectclick", function() {...});
沒有成功,所以我假設我需要在這裏插入一些:(event, ui)
我已經設法通過使用稍微不同的方法部分工作的功能$("[name=Item]").multiselect({ click: function (event, ui) {...}
,但我真的很想了解如何使用插件的自定義事件,以便我可以使功能正常工作。我用http://jsfiddle.net/chayacooper/cZRy9/5/這個非常簡單的例子發佈了一個小提琴,並且包含註釋以指示什麼不能正常工作。
一個地方我想與小部件的click
事件替換change
事件功能:
$("[name=Item]").change(function(){
$("#Styles1, #Styles2").hide();
$(".accordion").accordion("option", "active", false);
if($("[name=Item]").val() === "Dresses"){
$("#Styles1").show();
$(".accordion").accordion("option", "active", 0);
$('varItem').val('Dresses');
}
else {...}
});
你有多個元素的同名='Item'? –
使用'click:function()..'選項對象中的屬性與編寫單獨的外部'on'處理程序相同。如果您擁有正確的自定義事件名稱,代碼應該以相同的方式執行相同的操作在jsfiddle.net中創建一個演示,顯示問題 – charlietfl
@MohammadAdil - 不,在本文檔中,每個select元素都有自己的名稱:-)如果只有一個元素在同一時間可見(使用'display:none') –