Я новичок в jQuery. Просто изучите и используйте его в течение 3 недель до сих пор.
Я написал класс для организации вещей.
Я вызываю мой метод с более чем 2 событиями, но событие не работает во время моего запуска второго события.
нет ничего плохого в селекторе.
Я думаю, что-то не хватает в моем классе. Я не знаю.
пожалуйста помоги!
вот фрагмент:
$("#btnPersonalNext, #btnDocListBack, #pDocList").livequery('click',function()
{
var docListContent = 'loadDocumentList.php';
$("#contentpaper").addContent(
{
_tag:'div',
_id: 'contentDocList',
_class: 'content',
_content: docListContent,
_heading: 'Document List'
});
//store personal info in session:
});
addContent()
- это функция.
когда я нажимаю #btnPersonalNext
, это работает, но для #btnDocListBack
, а не больше.
вот мой класс (jquery.content.js
). он загружает html в определенный _tag
с определенным _id
.
(function($)
{
$.fn.addContent = function(options)
{
var defaults = {
_tag: 'div',
_id: '',
_class: '',
_content: '',
_heading: '',
_clearExisting:'yes',
_insertAfterID:'',
_deleteBeforeInsert:'no'
};
var options = $.extend(defaults, options);
return this.each(function()
{
obj = $(this);
if(options._clearExisting=='yes'){
obj.empty();
}
if(options._deleteBeforeInsert =='yes'){
$('#'+options._id).remove();
}
var innerHtml = '<' + options._tag + ' id="' + options._id + '" class="' + options._class + '">';
if(options._heading!=''){
innerHtml += '<h2>' + options._heading + '</h2>';
}
if(/^[A-Za-z0-9]+\.php(\??([A-Za-z0-9]+=[A-Za-z0-9]+)(&[A-Za-z0-9]+=[A-Za-z0-9]+)*)?$/.test(options._content))
{//if .php
$.get(options._content,function(data)
{
//handle response from server here.
innerHtml += data;
innerHtml +='</' + options._tag + '>';
if(options._insertAfterID !=''){
$('#'+options._insertAfterID).after(innerHtml);
}
else{
obj.html(innerHtml);
}
});
} // PHP rule
else
{// .html
innerHtml += options._content;
innerHtml +='</' + options._tag + '>';
if(options._insertAfterID !=''){
$('#'+options._insertAfterID).after(innerHtml);
}
else{
obj.html(innerHtml);
}
} // HTML rule
}); // End of Returned Function
};// End of addContent definition
})(jQuery);
надеясь на ответы, большое спасибо!
вот моя структура DOM:
<!-- JS -->
<script type="text/javascript" src="jquery_plugins/jquery-1.2.6.js" ></script>
<script type="text/javascript" src="jquery_plugins/jquery.livequery.js" ></script>
<script type='text/javascript' src='jquery_plugins/jquery.simplemodal.js'></script>
<script type="text/javascript" src="jquery_plugins/jquery.session.js"></script>
<!--<script type="text/javascript" src="jquery_plugins/jquery-plugin-wrapinner.js"></script>-->
<script type="text/javascript" src="jquery_plugins/jquery.content.js"></script>
<script type="text/javascript" src="jquery_plugins/osra_main.js"></script>
</head>
<body>
<div id="wrapper">
<div id="header">
<div id="headercontent">Please Enable JavaScript to Continue</div>
</div>
<div id="main">
<div id="sidebarpaper" class="left">
<!-- sidebar contents (class="sidebar")-->
</div>
<div id="contentpaper" class="right">
<!-- main contents (class="content")-->
</div>
<div id="modals" class="clear">
<!--modal pop-up window -->
</div>
</div>
<div id="footer"><p></p></div>
</div>
</body>
</html>
Я загружаю содержимое динамически в div с идентификатором #contentpaper
.
Я не знаю, как перепривязать, кроме использования плагина livequery, с этим использованием:
$("#btnID").livequery('click',function(){});
-bgreen1989