是否有任何资源比较各种javascript框架的采用率类似于tcpi?基本上,在时间线上使用特定框架的站点数量是理想的.
这条线是79:
window.addEvent('domready', function(){
mySlide = new Fx.Slide('advert');
mySlide.hide();
});
Run Code Online (Sandbox Code Playgroud)
它也不喜欢这一行:
this.wrapper = new Element('div',
{
'styles': $extend(
this.element.getStyles('margin'),
{'overflow': ''}
)
})
.injectAfter(this.element)
.adopt(this.element);
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会这样?有谁知道如何解决这一问题?我正在使用jQuery和Mootools ..并且想要一个解决方案.
在速度/内存效率方面,将元素(通过$检索)保存到对象中的变量或每次使用$来访问它是否有意义?
访问对象属性(特别是嵌套几个级别 - 对象内的对象)执行速度比使用$更快吗?
我有一个看起来像这样的表格:
<form method="post" enctype="multipart/form-data" onsubmit="return new_post_form_submit();">
<input type="hidden" name="task" value="addPost">
<input type="hidden" name="post_photo_edit[]" value="0">
<input type="hidden" name="post_photo_edit[]" value="0">
<input type="hidden" name="post_photo_edit[]" value="0">
...
</form>
Run Code Online (Sandbox Code Playgroud)
在new_post_form_submit函数内部,我想选择所有名为post_photo_edit集合的元素.正如您可以看到它的名称实际上是post_photo_edit[]因为我想将它作为我的PHP代码中的数组.
我正在使用MooTools,但jQuery可能会有完全相同的解决方案.
我试着打电话
$$("input[name='post_photo_edit[]']")
Run Code Online (Sandbox Code Playgroud)
但它给了我一个例外.并以这种方式调用它:
$$("input[name='post_photo_edit']")
Run Code Online (Sandbox Code Playgroud)
返回空集合.
我知道我可以这样称呼它
document.getElementsByName("post_photo_edit[]")
Run Code Online (Sandbox Code Playgroud)
它会工作得很完美,但我想知道这个表达式在MooTools中应该如何像上面那样工作.
有任何想法吗?
我是Mootools的新手,但在jQuery方面有很好的经验.
最近我才知道Mootools是另一个很好的选择.但打开mootools网站时有点困惑.
Mootools Core和Mootools More有什么区别?
请有人帮助我.
我在我的网页中使用以下代码来改变选择元素的类别,具体取决于单选按钮的选择.
我添加类的部分工作正常,但另一部分(我删除它们)不起作用.我在错误控制台中没有错误,当我更改我的代码以使删除类的部分将另一个类放入select元素时它工作正常.
<script type="text/javascript">
window.addEvent('domready', function(){
$('votconj').addEvent('click', function() {
// This works fine
$('first_name_conjoint').addClass("validate['required','nodigit']");
$('last_name_conjoint').addClass("validate['required','nodigit']");
$('jj_conjoint').addClass("validate['required']");
$('mm_conjoint').addClass("validate['required']");
$('aaaa_conjoint').addClass("validate['required']");
$('conjoint_regime').addClass("validate['required']");
new FormCheck('formulaire');
});
$('votconj_no').addEvent('click', function() {
// This doesn't work !
$('first_name_conjoint').removeClass("validate['required','nodigit']");
$('last_name_conjoint').removeClass("validate['required','nodigit']");
$('jj_conjoint').removeClass("validate['required']");
$('mm_conjoint').removeClass("validate['required']");
$('aaaa_conjoint').removeClass("validate['required']");
$('conjoint_regime').removeClass("validate['required']");
new FormCheck('formulaire');
});
new FormCheck('formulaire');
});
</script>
// The radio button
<label>Conjoint :</label>
<input type="radio" name="votconj" id="votconj" value="oui">oui
<input type="radio" name="votconj" id="votconj_no" value="non" checked="checked">non
Run Code Online (Sandbox Code Playgroud) 我将事件添加到通过ajax加载的链接.这是html的简化示例:
<div class="ajax-content">
<div class="parent">
<a href="#" class="event-link">Click here</a>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
".ajax-content"中的所有内容都是通过ajax加载的.我不希望".event-link"的click事件冒泡到".parent".如果它没有通过ajax加载我可以这样做:
$$('.event-link').addEvent('click', function(event){
event.stopPropagation();
event.preventDefault();
//do stuff
});
Run Code Online (Sandbox Code Playgroud)
但是,我无法弄清楚如何使用(click:relay)完成相同的行为.这就是我想要的:
$$('.ajax-content').addEvent('click:relay(.event-link)', function(event){
event.stopPropagation();
event.preventDefault();
//do stuff
});
Run Code Online (Sandbox Code Playgroud)
如何防止点击事件在".parent"上触发?(我还尝试了其他语法 - event.stop()并返回false,但它们的结果相同.)
如何将事件添加到由AJAX加载的元素.
jQuery有live,但Mootools的等价物是什么?
例如:
window.addEvent('domready', function() {
// some code which loads new elements by ajax
// Filter
$$('.filterButton').addEvent('click', function(event) {
alert('wow');
});
});
Run Code Online (Sandbox Code Playgroud) 我碰巧遇到了框架,并且不了解它比jQuery等其他框架的主要优势.你能说清楚吗?例如,您将使用它解决哪些问题?
谢谢.
看起来像一个简单的问题,但这两种方法的MooTools文档看起来完全相同.
这是文档中的代码:
var firstObj = {
name: 'John',
lastName: 'Doe'
};
var secondObj = {
age: '20',
sex: 'male',
lastName: 'Dorian'
};
Object.append(firstObj, secondObj);
//firstObj is now: {name: 'John', lastName: 'Dorian', age: '20', sex: 'male'};
Run Code Online (Sandbox Code Playgroud)
如果我换append到merge,我会得到相同的结果.那有什么区别?
mootools ×10
javascript ×6
jquery ×4
class ×1
debugging ×1
forms ×1
performance ×1
radio-button ×1
yui ×1