标签: mootools

没有jQuery,检查某个元素是否"聚焦"

我几乎可以肯定我能找到答案,但我没有成功.你如何检查在事件调用的那一刻是否有一些对象被选中(聚焦)?我试过了if (document.activeElement == "[object HTMLBodyElement]"),但显然.activeElement已经填满了载荷.我不允许使用jQuery,只能使用mootools.

非常感谢您的帮助!

javascript mootools focus

5
推荐指数
1
解决办法
4904
查看次数

修剪不是函数错误

我最近收到此错误,不知道如何解决...

TypeError: $(...).get(...).trim is not a function
Run Code Online (Sandbox Code Playgroud)

我使用的脚本是这样的:

function vbstatus_change_status(statusID,userID,inputID,editboxID,statusboxID)
{
    $(inputID).value=vbstatus_htmlspecialchars_decode($(statusID).get('text').trim(),'ENT_QUOTES');
    $(statusboxID).setStyle('display','none');
    $(editboxID).setStyle('display','inline');
    $(inputID).addEvent('keydown',function(e){
        if(e.key=='enter'){
            vbstatus_update_status(statusID,userID,inputID,editboxID,statusboxID);
        }
    }); 
    if($chk($('inlinemodform'))){
        $('inlinemodform').addEvent('submit', vbstatus_formkill);
    }

}
Run Code Online (Sandbox Code Playgroud)

我在看一个类似于我在这里遇到的问题,但不知道如何处理它!!

知道怎么做吗?

更新:这里是我正在使用的脚本

function vbstatus_htmlspecialchars_decode (string, quote_style) {

    var optTemp = 0, i = 0, noquotes= false;
    if (typeof quote_style === 'undefined') {        quote_style = 2;
    }
    string = string.toString().replace(/&lt;/g, '<').replace(/&gt;/g, '>');
    var OPTS = {
        'ENT_NOQUOTES': 0,        'ENT_HTML_QUOTE_SINGLE' : 1,
        'ENT_HTML_QUOTE_DOUBLE' : 2,
        'ENT_COMPAT': 2,
        'ENT_QUOTES': 3,
        'ENT_IGNORE' : 4    };
    if …
Run Code Online (Sandbox Code Playgroud)

javascript mootools trim

5
推荐指数
1
解决办法
2万
查看次数

使用JavaScript确定元素是固定宽度还是百分比宽度

使用Mootools Element.Dimensions,我可以获得任何元素的计算大小(以像素为单位)。但是,我无法分辨出是否已使用像素值或百分比值确定了元素的大小(在特殊情况下(具有内联样式))。

有这样做的明智方法吗?我能想到的唯一解决方案(这太可怕了,几乎不值得使用该名称)是遍历文档样式表,查找与目标元素匹配的选择器,然后遍历声明的样式以获取目标属性。

背景

我试图用CKEditor实例替换某个类的所有textarea 。理想情况下,宽度为100%的textarea将由样式相似的编辑器实例替换-因此它们将根据窗口调整大小进行缩放-而固定大小的textareas将由固定大小的编辑器替换。

是的,我可以给他们一个不同的类(如果没有很好的解决方案,我会这样做),但是理想情况下,我希望能够放入CKEditor脚本并使所有工作都可以进行,而无需调整HTML。

javascript css mootools

4
推荐指数
1
解决办法
2719
查看次数

包含MooTools的for..in的Javascript数组迭代

我遍历在MooTools的数组,但使用速记通过数组进行遍历时,看到其他项目for..in环.当我使用常规for循环时,它工作正常.这是MooTools污染全局命名空间的问题还是我在这里做错了什么?

有一个createTabs()函数迭代数组并为数组中的每个值创建一个选项卡:

function createTabs() {
    var myTabs = [["First", "a.png"], ["Second", "b.png"]];
    for(var i in myTabs) {
        var tab = new Tab(myTabs[i][0], myTabs[i][1]);
        console.log(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是输出console.log(i):

0
1
$family
each
clean
associate
link
contains
extend
getLast
getRandom
include
combine
erase
empty
flatten
hexToRgb
rgbToHex
toJSON
Run Code Online (Sandbox Code Playgroud)

我理解前两个索引,但其余的来自哪里?

编辑:感谢Chetan和k Prime的快速回答.这是有道理的,Array.eachMooTools 的添加是更加清晰的迭代方式!

现在看起来好多了:

myTabs.each(function(item) {
    var tab = new Tab(item[0], item[1]);
    console.log(item);
});
Run Code Online (Sandbox Code Playgroud)

javascript mootools for-in-loop

4
推荐指数
2
解决办法
3817
查看次数

如何将一串HTML注入元素?

使用Mootools,我们可以将元素注入另一个元素:

$('childID').inject($('parentID'), 'top');
Run Code Online (Sandbox Code Playgroud)

第二个参数允许我控制位置,可以是"顶部"或"底部",将其注入父对象或"之前"或"之后",将其作为兄弟注入.

我们还可以从字符串中设置元素的HTML:

var foo = "<p>Some text</p>";
$('parentID').set('html', foo);
Run Code Online (Sandbox Code Playgroud)

我的问题是我希望与字符串具有相同的灵活性.例如,我不能使用字符串在元素的顶部,set()因为这会覆盖HTML而不是将其附加到特定位置.同样,我不能在兄弟元素之后或之前追加HTML.

是否有一个函数可以让我以与注入元素相同的方式注入字符串?

javascript mootools

4
推荐指数
2
解决办法
8713
查看次数

使用MooTools获取所有可见元素

我正在从jQuery转移到MooTools(为了好玩..)我有这行代码:

$subMenus = $headMenu.find('li ul.sub_menu:visible');
Run Code Online (Sandbox Code Playgroud)

我怎么能用mootools写这个?
我知道我可以使用getElements但是如何检查可见的ul?(我正在使用这个(:可见)选择器).

编辑 -

我实现了自己的功能:

  function findVisibleElements(elementsCollection){
    var returnArray = [];
    elementsCollection.each(function(el){
      if(el.getStyle('display') === 'block'){
        returnArray.push(el);
      }
    });

    return returnArray;
  }
Run Code Online (Sandbox Code Playgroud)

我想要的是向上滑动所有可见的子菜单,这就是我写的:

// Sliding up the visible sub menus 
if( visibleSubMenus.length > 0 ){
  visibleSubMenus.each(function(el){
      var slider = new Fx.Slide(el, {duration: 2000});
      slider.slideOut();
  });
}
Run Code Online (Sandbox Code Playgroud)

为什么我的代码不工作?我的功能正在运行,问题在于Fx.Slide.
我用Fx.Slide添加了更多mootools.

javascript mootools css-selectors

4
推荐指数
1
解决办法
2562
查看次数

如何使用Mootools添加css类

<div class="generic_layout_container layout_ride_ridespec">
</div>
Run Code Online (Sandbox Code Playgroud)

如何使用现有类向上面的div添加一个额外的类或一个属性.我想说如下

<div class="generic_layout_container layout_ride_ridespec example_class">
</div>
Run Code Online (Sandbox Code Playgroud)

请原谅id/name解决方案,为上面的元素添加id或名称没什么困难.谢谢

javascript mootools

4
推荐指数
1
解决办法
5488
查看次数

4
推荐指数
1
解决办法
4581
查看次数

对于window.location.href,window.addEvent('domready',function())的替代方法是什么?

我们正在通过Joomla中的'refer'id将url页面传递给我们的管理员电子邮件...

window.addEvent('domready', function() 
{ 
  document.getElementById('refer').value=window.location.href; 
});
Run Code Online (Sandbox Code Playgroud)

此代码适用于某些网站,但不适用于其他网站 虽然我愿意接受建议,但我尝试了一个运气不佳的jquery版本.未通过电子邮件返回网址的网站位于http://www.freestylelitemeter.com,而正在工作的网站位于http://www.comparediabetictestingsupplies.com.我们使用'refer'作为隐藏字段并且所有内容都匹配,因此我认为问题在于window.addEvent('domready',function(),除非存在我不知道的冲突.另一个有趣的事情是工作域有更多的脚本文件,在过去发现脚本文件之间的冲突,而较小的站点没有.

javascript jquery joomla mootools dom

4
推荐指数
1
解决办法
1万
查看次数

MooTools CORS请求vs本机Javascript

我有这个MooTools代码:

new Request.JSON({
  method: 'POST',
  url: URL, /*URL TO ANOTHER DOMAIN*/
  onSuccess: function(r){
    callback(r);
  }
}).post(data);
Run Code Online (Sandbox Code Playgroud)

并且此代码不发送POST请求(仅限OPTIONS)...请查看下面的代码(它很有用):

var http = null,
  params = Object.toQueryString(data);
try {
  http = new XMLHttpRequest();
} catch (e) {
  try {
    http = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      http = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
      http = null;
      alert("Your browser does not support AJAX!");
    }
  }
}
var url = URL;
http.onreadystatechange = function () {
  if (http.readyState == 4 && …
Run Code Online (Sandbox Code Playgroud)

javascript mootools xmlhttprequest request cross-domain

4
推荐指数
1
解决办法
1332
查看次数