标签: javascript-events

如何检测JavaScript中是否有某些内容被点击?(不使用jQuery)

我想创建一个布尔函数,可以检测某个元素是否被单击,然后输出true或false.我想在没有jQuery的纯JavaScript中做到这一点,我的想法看起来像这样:

function clicked(whatever-element-I-want) {

  if(whatever-element-I-want==clicked) {
    return true;
  } else {
    return false;
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道这个问题可能看起来很愚蠢,但到目前为止我遇到的所有事情都让我感到困惑,并且真的很喜欢一个简单明了的解释.

javascript javascript-events

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

blueimp jquery-file-upload不会在不成功的添加上抛出错误

在这个插件中,我们可以设置文件上传的各种条件/限制(例如acceptFileTypes,maxFileSize,maxNumberOfFiles等).

无论何时添加文件,都会触发一个事件" fileuploadadd ",一旦成功添加文件,另一个事件将被触发" fileuploadadded ".

但是,当添加文件并且它失败了这些条件/限制之一(例如,用户尝试上传2GB文件,或文本文件而不是图像)时,无法以编程方式找出已发生这种情况.

当此条件失败时,不会触发任何事件.我可以使用什么来检查用户选择的文件是否有错误,因此尚未添加到队列中.

我能想到的唯一方法就是触发" 添加 "事件并等待,看看它是否不会触发" 添加 "事件然后出现问题.但是,我既不想长时间停止所有处理,也不想太快检查" 添加 "事件是否已经触发.

要么

任何人都可以指导如何从这个插件中抛出自定义事件(例如fileaddfailedevent)?

jquery javascript-events blueimp jquery-file-upload

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

更改布尔来回javascript

我想知道在Javascript中是否有可能有一个click事件监听器,每次我点击时都会将我的布尔值从true更改为false.意思是我点击一个它变为假,我再次点击它变为真,依此类推在无限循环中.我甚至不知道是否可能,但我试过这个:

//This is my listener
circlePicker.click(function () {
    booleanChecker(circlePickerSelector);
    console.log(booleanChecker(circlePickerSelector));
});

//This function checks if the boolean is true or false
function booleanChecker(isThisTrue) {
    // circlePickerSelector = !circlePickerSelector;
    // return circlePickerSelector;
    if (isThisTrue == false) {
        isThisTrue = true;
        console.log("I turned into true");
    } else if (isThisTrue == true) {
        isThisTrue = false;
        console.log("I turned into false");
    }
    return isThisTrue;
}
Run Code Online (Sandbox Code Playgroud)

我想知道这是否可行.我觉得我的语法有问题.任何建议都非常受欢迎.

谢谢!

javascript boolean javascript-events

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

在TinyMCE 4中,不推荐使用editor.onBeforeSetContent.add(),而是使用什么?

自从我从TinyMCE 3升级到TinyMCE 4后,我在控制台中出现以下错误:

Deprecated TinyMCE API call: <target>.onBeforeSetContent.add(..) 
Run Code Online (Sandbox Code Playgroud)

我应该用什么呢?

javascript tinymce javascript-events tinymce-4 tinymce-3

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

将事件侦听器添加到动态创建的div中

我正在尝试将click事件监听器添加到我在我的JS中动态创建的div中.

每次创建Div时调用的Javascript函数片段:

var listDiv = document.createElement("div");
listDiv.className = "list";
listDiv.addEventListener = ('click',gotoOutcomesLO, false);
Run Code Online (Sandbox Code Playgroud)

click事件调用的函数:

function gotoOutcomesLO(e){
if(typeof(Storage)!=="undefined"){
        var ele = e.target;
        var text = ele.getAttribute("name");
        sessionStorage.test = text;
}
}
Run Code Online (Sandbox Code Playgroud)

我没有看到任何点击事件添加到我的HTML中,也不确定是什么问题.任何指针都会有所帮助!谢谢!

html javascript event-handling javascript-events

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

为什么我不能访问这个JS函数?未定义不是一个功能?

这可能是相当愚蠢的,但它现在已经困扰了我一段时间.试图让AngularJS得到一些东西,这就是杀了我.

在回调中我有这样的事情:

var xyz = {
  "modA"  : null,
  "modB"  : null,
  "modC"  : null
}
Run Code Online (Sandbox Code Playgroud)

然后我附上一些方法......

xyz.setModA = function(elementId) {

  var someConfig = {};
  // attach some kind of event callback on stateChange
  someConfig.events.onStateChange = this.helper;

  this.modA = new someObject(someConfig);      

}

xyz.setModC = function(vars) {
    ....
}

xyz.helper = function(event) {
  ....
  this.setModC(vars);
}
Run Code Online (Sandbox Code Playgroud)

当我们实例化的modA对象的状态发生变化时,会发生onStateChange事件,并正确触发我所拥有的xyz.helper方法,然后我立即得到一个Uncaught TypeError:undefined不是函数?出于某种原因,当事件触发时,它现在没有看到setModC方法?

javascript scope javascript-events angularjs

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

捕获div焦点

我有一个带有输入(子)的主div(父)和另外2个子div(可单击).

我想捕获主div的焦点事件 - 不是在点击或聚焦输入或其他2个可点击的div时.我已经使用jQuery设置了一个事件处理程序来捕获所有元素上的focusin focusout事件.

我看到的是当我点击输入时

  1. 第一个输入是集中的
  2. 那么主要的div.

如果我点击任何其他可点击的div

  1. 事件触发第一个焦点输入
  2. 然后主要div然后其他div获得焦点,主要div获得焦点.

点击其他可点击的div时,我不希望主div失去焦点.

我该如何实现这一目标?我想在松散焦点上验证输入,但是在点击其他div时则不需要

到目前为止,这就是我所拥有的:小提琴

HTML:

<div id="main">
    <input id="i" type="text" />
    <div id="Div2" class="icons" style="background-color:blue; right: 25px;" onclick="log('Clear Clicked');"></div>
    <div id="Div1" class="icons" style="background-color:red;" onclick="log('DD Clicked');"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

* {
    -webkit-box-sizing: border-box;
    /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;
    /* Firefox, other Gecko */
    box-sizing: border-box;
    /* Opera/IE 8+ */
}
#main {
    top: 50px;
    left: 200px;
    position: absolute;
    border: 1px solid #00bfff;
    width: 250px;
    height: 27px;
}
input { …
Run Code Online (Sandbox Code Playgroud)

jquery html5 focus javascript-events

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

无法删除事件侦听器

尝试使用Chrome扩展程序让我的脚湿透.我创建了一个标签限制器,但它的错误.

我希望点击browser action图标的事件可以打开和关闭扩展程序.我相信我有正确的设置.当切换时,它会从chrome.tabsapi 创建一个监听器,但是当切换掉时,我很难移除这个监听器.

我已经尝试了StackOverflow上的一些常见答案(如下所示),用于删除侦听器,但没有一个能够正常运行.

这里是 background.js

var tabUrls, bookmarkFolder, currentWindow;
var toggle = false;

chrome.browserAction.onClicked.addListener(function(tab){
  toggle = !toggle;

  if(toggle) {
    chrome.browserAction.setBadgeText({"text": "ON"});

    console.log("I'm listening to the browser action");

    runExtension();

  } else {
    console.log("i shouldn't be working now.");

    chrome.browserAction.setBadgeText({"text": ""});

    // Need to remove the listener somehow.  This isn't working.

    chrome.tabs.onCreated.addListener(doStuff);
  }
});

  // Functions

  // Potential function to removeListener. Not working.
  function doStuff(tab){
    chrome.tabs.onCreated.removeListener(doStuff);
  }

  var runExtension = function(){
    chrome.tabs.onCreated.addListener(function(tab){

      // Find and set reference …
Run Code Online (Sandbox Code Playgroud)

javascript events listener javascript-events google-chrome-extension

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

将对象传递给jQuery.on()

我在某处读到可以做这样的事情:

$(document).on({click: function(){}})
Run Code Online (Sandbox Code Playgroud)

这是真的还是有类似于jQuery支持的东西?我想通过设置传递一个对象.

javascript jquery javascript-events

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

哪个jQuery事件不泡?

非常简单,我一直在寻找所有jQuery事件的完整列表,这些事件没有泡沫,但我一直无法找到.

比如我要找样事件image.load,XMLHttpRequest.error等等.

javascript jquery javascript-events

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