2016-03-12 107 views
0

我有一個鏈接在我的PHP文件,當有一個事件監聽器連接到它,並點擊另一個鏈接在同一頁上。Jquery:.click()不工作

<p>Upload the image you want on your cake:<a href="#" id="upload-button" class="button">Upload</a> </p> 

<a href="#openModal" id="upload-link"></a> 
<div id="openModal" class="modalDialog"> 
    <div><a href="#close" title="Close" class="close">X</a> 
     <?php require 'image-upload.php'; ?> 
    </div> 
</div> 

    <script> 
     $('#upload-button').on('click', function() {//This works fine 
      $('#upload-link')[0].click(); //This doesn't work. 
     });` 

    </script> 

現在點擊事件應該點擊上傳鏈接和模式應該pop.However,沒什麼happens.What可能的原因和解決辦法嗎?

+1

您是否在''按鈕上定義了一個點擊事件? – Tyr

+0

$('#upload-link')。click();等於$('#upload-link')。on(「click」,function)監聽點擊事件而不是點擊自身; – NMSL

+0

'$('#upload-link')。trigger(「click」);'你應該用這種方式處理觸發器 – Shayan

回答

-2

這適用於我。但是,(FYI),id不應該包含連字符。

注意:我只使用一個內嵌HTML事件處理程序上#openModal表明其click事件被觸發,但是你有沒有添加到鏈接的任何行動,所以否則會什麼都不做。不要在實踐中使用線上HTML事件處理程序。

$(function(){ 
 

 
     $('#uploadButton').on('click', function() { 
 
      alert("Upload Button has been clicked"); 
 
      $('#uploadLink').trigger("click"); 
 
     }); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<p>Upload the image you want on your cake:<a href="#" id="uploadButton" class="button">Upload</a> </p> 
 

 
<a href="#openModal" id="uploadLink" onclick="alert('Open Modal has been clicked!')">I am the Open Modal link</a> 
 
<div id="openModal" class="modalDialog"> 
 
    <div><a href="#close" title="Close" class="close">I am the Close link</a> 
 
     <?php require 'image-upload.php'; ?> 
 
    </div> 
 
</div>

+0

'alert()'後面的'.click()'不起作用。 –

+0

我們看不到你的.php文件產生了什麼,所以,就我所能測試的那樣。你能從.php發佈結果代碼嗎? –

+0

這只是迴應一些內容。沒有什麼比這更多。 –

1

添加的jQuery到HTML通過把

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 

您的自定義腳本之前。

除此之外,您的div將始終顯示。你應該設置一個動態的方式來隱藏/顯示它。 您可以使用jQuery的hide()和show()方法,在你的元素,如

$("#close").click(function(e){ 
    $("#openModal").hide(); 
}); 

也是你的標識符語法應始終是相同的。所有camelCase或所有我不知道這種情況被稱爲。

+0

它已經包含 –

+0

看看我的編輯。另外,如果你用一些HTML替換你的php,你的代碼將成功顯示。 – sp3

+0

.php文件不包含一些html代碼。它不應該是個問題,對吧? –

0

我不知道爲什麼它以前沒有工作,但當我對上傳按鈕鏈接進行了一些更改。一切工作和模式彈出就好了。

<p>Upload the image you want on your cake:<a href="javascript: void(0)" id="upload-button" class="button">Upload</a> </p> 

我只是改變了HREF從#javascript: void(0)和一切都只是正常工作。