私は同様の主題に関してはSOに関するいくつかの記事を読んでいますが、私が望むように機能するようにコードを解読して取得することはできませんでした。動的なページ/コンテンツとjQueryの競合を置き換えます
ページコンテンツが変更され、動的に置き換えられるアプリケーションを作成しています。これは私が使用したプラグインへのリンクです(はい、スクリプトをプログラミングした開発者に連絡してみましたが、無駄にしていました)。 (css-tricks.com/dynamic-page-replacing-content)
{div id = "guts"}内に別のjQueryを実装しようとするまでは、それはすべての方法で動作します。たとえば、このスクリプトを追加しようとしていますが、起動していません。実際、このDIVでは他のjQueryスクリプトは動作しません。 (digitalbush.com/projects/masked-input-plugin)
特になhashchangeスクリプトを使って、いくつかの競合があるように見えます。私はこれが源だと信じています。ハッシュチェンジ/ダイナミックページスクリプトを無効にすると、マスクされた入力スクリプトは正常に動作します。
私が取り組んでいるアプリケーションへのリンクです。これは、ハッシュ変更を有効にした状態です。そして、メニュー項目をクリックすると、それは必要に応じて変更されます。ただし、マスクされた入力は機能しません。「電話番号」入力フィールドで有効になります。あなたがURLにハッシュマークを削除した場合 http://socialbungy.com/newsite/sweeps_temp_facebook/TAB_TEMP1/#enter.php
は、ページがロードされ、電話番号フィールド上のマスクされた入力は今しかし、動的ページの機能がなくなって、それが必要として動作します。 http://socialbungy.com/newsite/sweeps_temp_facebook/TAB_TEMP1/enter.php
私はこれが問題であることを知っているので、私は紛争を防ぐ方法を理解できません。 /#enter.phpのページソースを見ると、/enter.phpではなく/index.phpのソースコードがわかります。これも要因だと思います。これがスクリプトが開始しない理由ですか?
私のコードがここに掲載されている必要があります(これはたくさんあります)。リンクを手助けする方が簡単かもしれないので、構造を見ることができます。
私は間違っていますか? Btw、ページはPHPかもしれませんが、そこにPHPコードはありません。
編集: ここには疑わしいコードがあります。
$(function() {
var reloadMask = function reloadMask() {
$(document).ready(function() {
$("#phone").mask("(999) 999-9999");
});
}
var newHash = "",
$mainContent = $("#appContent"),
$pageWrap = $("#page-wrap"),
baseHeight = 0,
$el;
$pageWrap.height($pageWrap.height());
baseHeight = $pageWrap.height() - $mainContent.height();
$("nav").delegate("a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
$("#buttonWrap").delegate("a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash) {
$mainContent
.find("#guts")
.slideToggle(500, function() {
$mainContent.hide().load(newHash + " #guts", function() {
$mainContent.slideToggle(500, function() {
$pageWrap.animate({
height: baseHeight + $mainContent.height() + "px"
});
});
$("nav a").removeClass("current");
$("nav a[href="+newHash+"]").addClass("current");
});
});
};
});
$(window).trigger('hashchange');
reloadMask();
});
「私のコードはここに掲載する必要がありますが、これはたくさんあります」 - コードを減らすのが良い第一歩です。可能な限り小さなコードで問題を再現してください。何度もこれがあなたを解決に導きます。 – David
オリジナルの投稿を編集して、疑わしい問題のあるコードを追加しました。しかし、コードの "たくさん"、私はアプリの構造を意味した。 :) –
問題は、私たちの視点から(うまくいけば間違っていて、私たちが話しているように誰かが答えを構成しています)、この質問は現在「このコードには大きな壁があります。何が間違っているか教えてください。いくつかのデバッグが必要です。たとえば、あなたの「疑わしいコード」で、なぜそれが悪いと思われるのですか?あなたがそれにデバッグするなら、それは期待された振る舞いから逸脱していますか?問題を絞り込んでしまうまで、問題に関連していないコードを一度に1つずつ削除してください。 – David