簡體   English   中英

jQuery live無法正常工作

[英]jQuery live not working

為什么下面的代碼不起作用:

$('button[name="publish"]', 'button[name="cancel"]').live('click', function(){
    alert('ddddd');
});

html是動態生成的,基本上是facebook的“共享”對話框,具有以下兩個按鈕:

<input type="button" name="publish" value="Share">
<input type="button" name="cancel" value="Cancel">
  • 對jQuery lib的引用很好並且已檢查
  • 使用現成的處理程序

該頁面可以在這里查看:

https://www.facebook.com/pages/Development-Application-Testing-Page/124719744278421?sk=app_126015774115928

您當前的選擇器是以下簡稱

$('button[name="cancel"]').find('button[name="publish"]')

那不是故意的。 您正在尋找:

$('button[name="publish"], button[name="cancel"]')

因為您的選擇器有誤。 試試這個(注意整個選擇器表達式都被引用):

$('button[name="publish"], button[name="cancel"]').live('click', function(){
    alert('ddddd');
});

當前,您正在尋找選擇器的第一部分( button[name="publish"] ),並將選擇器的第二部分用作上下文(換句話說,它將查找與button[name="publish"]並且是與button[name="cancel"] )匹配的元素的后代。

另請注意,不建議使用live方法。 如果你正在使用jQuery 1.7+使用on 如果您使用的是舊版本,請使用delegate

它不起作用,因為您嘗試使用$('button ...')選擇一個“輸入”

嘗試這個

$('input[name="publish"] , input[name="cancel"]').live('click', function(){
    alert('ddddd');
});
$('input[name=publish] , input[name=cancel]').live('click', function(){
    alert('ddddd');
});

$('button[name="publish"], button[name="cancel"]').live('click', function(){
    alert('ddddd');
});

暫無
暫無

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

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