これが私のコードです:
$("#addhash").submit(function(event) {
// Cancel the default action
event.preventDefault();
// Store the value and remove any white space or disallowed chars
var hash = $("#hashtoadd").val().replace(/\s/g, "").replace(/\W/g, "");
// Check if anything was entered
if(hash) {
// Add the hashtag to the array
hashes.push(hash);
localStorage.hashes = JSON.stringify(hashes);
var key = hashes.length - 1;
// Clear the form field
$("#hashtoadd").val("");
// Set others to inactive
$("#hashes").children().removeClass("active");
// Add it to the list and make it the active page
$("#hashes").append("<li class='active' id='" + key + "'><a href='#' class='close'>×</a><a class='hashtag' href='#" + hash + "'>#" + hash + "</a></li>");
// Load the tweets
getTweets(hash);
}
});
このコードは Chrome でのみ機能します。event.preventDefault();
発砲すらしていないように見えます。最初に警告ダイアログを配置しようとしましたが、どちらも表示されないため、ここに到達することさえないと信じています. click ()
イベントだけを使ってみたり、イベントだけを使ってみたりしましたが、どちらもうまくいきsubmit()
ません。
編集:問題は、イベントハンドラーが他のブラウザーで呼び出されないことだと思います。現在の状態を反映するようにコードを更新しました。それでも動作しません。
EDIT2:要求されたとおり、フォーム自体は次のとおりです。
<form class="navbar-form pull-right" id="addhash">
<div class="input-prepend input-append">
<span class="add-on">#</span>
<input type="text" placeholder="tag" tabindex="1" id="hashtoadd">
<button class="btn" type="submit" href="#" id="submit"><i class="icon-plus"></i></button>
</div>
</form>