私はMaterial Design Liteを使用していますが、get()jqueryメソッドを使用してポップアップを作成しています。ポップアップ要素が表示されたら、mdlテキストフィールドのクリックは機能しません。しかし、ページの読み込みがうまくいくときにポップアップをロードすると。
私はcssファイルとjsをロードしています。私は問題がjsの負荷の後に要素を読み込むことだと思いますが、どうすればそれを解決できますか?私は過去にこの問題を抱えていませんでした。
ポップアップを読み込んだ後、私はコンソールに何のエラーもありません。
function create(){
$("#create").click(function(e)
{
e.preventDefault();
var linkPopup = $(this).attr('data-popup');
$.get(linkPopup, function(response)
{
$(".opacity").css("display","block");
$(".popup").css("display","block");
$('.popup').html(response);
$(".popup-close i").click(function()
{
$(".popup .mdl-card").remove();
$(".popup").css("display","none");
$(".opacity").css("display","none");
});
});
});
}
SOLUTION: は私が後にロードelmentsを認識しないので、DOMをアップグレードするには、この行を追加する必要があります。
componentHandler.upgradeDom();
感謝のダイナミックHTMLがDOMに追加された後
要素がDOMにロードされた後にイベントハンドラをアタッチするか、親要素にアタッチした後にイベントを委譲します。 – sabithpocker
私はこれを行い、クリックは機能しますが、要素をクリックすると初期状態に戻りません。 $( "#入力名").click(関数(イベント) { $(this).parent()。addClass( "is-upgraded is-focused"); }); もっと良い解決策がありますか? mdlはすでにそれを行っているので、後でビューを充電することを諦めてはいけません。 @sabithpocker – user3242861