3
リンクをクリックするようにしたいと思っています。ファイルを含む入力フィールドが開きます。しかし、ブラウザがそれをサポートしていれば、これが起こりたいだけです。 in this answerが指摘したように、クロムはこれをサポートしています。 Firefox 3.6ではなく、Firefox 4 shouldです。アップロードフィールドが「クリック」を受け入れるかどうかのテスト
JavaScriptの機能のサポートを頻繁にテストできますが、この機能をテストする方法は不明です。
私が何を意味しているかを知りたい場合は、リンクをクリックしたときの機能を以下のコードに示します。 play with this on my pageでもかまいません。
<html lang="en">
<head>
<meta charset="utf-8">
<title>Upload Field Click Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var clicker = document.getElementById('clicker');
var uploader = document.getElementById('uploader');
clicker.addEventListener("click", function(e) {
uploader.click();
e.preventDefault();
}, false);
});
</script>
</head>
<body>
<form>
<input type="file" id="uploader">
</form>
<a href="#" id="clicker">Should click the uploader</a>
</body>
</html>
動作しないもの:!
- テストuploader.click
- uploader.click場合(見)は、あなたが動的に書き込むためにjQueryのを使用することができ例外
私はブラウザがjavascriptを持っているかどうかを検出したくありません。私は検出したい "入力[タイプ="ファイル "]のクリック機能を呼び出すと、ブラウザはファイルのアップロードダイアログを開きますか? User-Agentを盗聴することなくやります。 – cowsandmilk
私は主な問題はJQueryではない "addeventlistener"メソッドだと推測しています。私はあなたがJQuery相当物を必要とするだろうと推測しています。これに関する詳細は、このスレッドの[http://stackoverflow.com/questions/2398099/jquery-equivalent-of-javascripts-addeventlistener-method [/ link]を参照してください。 – StrangeDucks