私はいくつかのオブジェクトリテラルが定義されているプロジェクトを採用しました-主にコードを構造化するためだけです。ところで、フルタイムのフロントエンド開発者ではありません。問題は、それらのいくつかはjQuery onreadyイベントで定義されており、いくつかは外部にあることです。これは控えめに言っても本当に問題があるようです。これは悪いデザインと見なされますか?私はそう思います。いくつかの問題、特にobj2内のfrom_inside関数を示すコードスニペットを含めました。
<script>
$(document).ready(function(){
alert('here i am' + obj2.handlers2.background2); // can access the obj2 value as expected
alert('make this up: ' + obj2.handlers2.tell_me2());
var obj={};
obj.handlers={
background: 'blue',
foreground: 'green'
}
});
var obj2={};
obj2.handlers2={
background2: 'here i am jt',
foreground2: 'there you are',
tell_me2: function(){
return "these are things";
}
,
from_inside: function(){
alert('color from inside jQuery: ' + obj.handlers.background); // problem here! could I get a reference to obj here?
}
};
obj2.handlers2.from_inside();
</script>
現在どのようにそれを持っているかを考えると、好ましい回避策は何でしょうか?上記のobj2にjQueryオブジェクトの参照を渡すことができるように見えますが、可能であれば、jQueryの外部にあるすべてのオブジェクトを準備完了時にプルする方が簡単かもしれません。
アドバイスがあれば事前にthx
編集#1
$(document).ready(function(){
$(document).on('click','#pairing-comment-submit', function(){
arc.event_handler.submit_pairing_comment.call(this);
});
... about 50 more of these
});
arc={};
arc.event_handler={
submit_pairing_comment: function(){
var id=$(this).data('the-id');
....
},
....
}