小编Lee*_*fin的帖子

如何获得精确的鼠标坐标?为什么我的代码不起作用?

我想在鼠标下方显示一些东西,我试着用:

$('#my-graph').mousedown(function(evt){

      // show object at:
      var x= evt.screenX, y=evt.screenY;

      //or show object at:
     var x2=evt.pageX, y2=evt.pageY;

     //code to render object at (x,y) and (x2,y2)
     ......  
});
Run Code Online (Sandbox Code Playgroud)

但是上面的(x,y)和(x2,y2)都没有将渲染的对象放在鼠标点击的位置,并且显示对象距离鼠标的位置有一段距离,为什么呢?

我使用位置属性渲染对象,位置相对于#my-graph div,div的大部分角落应该是原点(0,0)

javascript jquery jquery-selectors dom-events

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

为什么我收到“没有这样的文件或目录”错误

我是 Gradle 的新人。我尝试读取现有文件的内容并将其内容写入文件系统中尚不存在的新文件。

File existingFile1 = new File(path1);
File existingFile2 = new File(path2);
File newFile = new File(path3);

newFile.withWriter{ w ->
    [existingFile1, existingFile2].each{ f ->
      new File(f).withReader { r ->
         w << r << '\n'
      }
}
Run Code Online (Sandbox Code Playgroud)

但是,我的 gradle 抱怨No such file or directory path3。为什么它抱怨path3?我的意思是,path3 文件当然还不存在,我正在编写代码来创建该文件。任何人都可以向我解释为什么我的 gradle 会抱怨它?

我正在 Android studio 中编写我的 gradle 构建脚本 & 我正在使用 Gradle V2.2.1

groovy gradle build.gradle android-gradle-plugin

3
推荐指数
1
解决办法
2242
查看次数

将csv文件加载到列表中

我有一个python脚本,它首先写入listCSV文件,然后立即将CSV文件加载到另一个文件list.

我单独尝试了写入listCSV 的代码,它工作,CSV文件内容是制表符分隔的,其内容如下:

car house wife
Run Code Online (Sandbox Code Playgroud)

但是把它们放在一起时:

import csv

// write list to CSV file, it works!
the_list=["car","house","wife"]
the_file = open("my_file.csv", 'w+')
writer = csv.writer(the_file, delimiter='\t')
writer.writerow(the_list)


// read CSV file & load into list
my_file = open("my_file.csv", 'r')
reader = csv.reader(my_file, delimiter='\t')
my_list = list(reader)
print(my_list)
Run Code Online (Sandbox Code Playgroud)

我打印出一个空列表:出了[]什么问题?

python csv python-2.7

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

在构造函数中创建内部类实例

我正在阅读《Java并发实践》一书,在第3.2节中,它给出了以下代码示例来说明隐式允许this引用转义(Don\xe2\x80\x99t这样做,特别是在构造函数中):

\n\n
public class ThisEscape {\n    public ThisEscape(EventSource source) {\n       source.registerListener ( \n             new EventListener() {\n                 public void onEvent(Event e) {\n                     doSomething(e);\n                 }\n             }\n       );\n  } \n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

书中接着说:

\n\n
\n

ThisEscape发布时EventListener,它也会隐式发布封闭ThisEscape实例,因为内部类实例包含对封闭实例的隐藏引用。

\n
\n\n

我从Java的角度理解了上面的话,但是我无法举出一个例子,上面的代码的转义EventListener封闭引用怎么this会有害呢?以什么方式?

\n\n

例如,如果我创建一个新实例ThisEscape

\n\n
ThisEscape myEscape = new Escape(mySource);\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后,什么?现在怎么有害了?从哪方面来看是有害的?

\n\n

有人可以使用上面的代码作为基础并向我解释它是如何有害的吗?

\n\n

=======更多======

\n\n

这本书试图表达类似匿名持有对尚未完全构造的EventListener包含类实例的隐藏引用之类的内容。我想在示例中知道,这个未完全构造的引用如何被滥用,并且我更喜欢查看有关这一点的代码示例。

\n\n

这本书给出了一种正确的做事方法,那就是使用静态工厂方法,如下所示:

\n\n
public static SafeListener newInstance(EventSource source) { \n       SafeListener safe …
Run Code Online (Sandbox Code Playgroud)

java inner-classes

3
推荐指数
1
解决办法
169
查看次数

在我的Facebook应用控制台中找不到客户端OAuth设置部分

我正在使用新的firebase创建一个项目,在我的项目中,我想使用Facebook进行用户身份验证,我按照条指令创建了Facebook应用程序,在说明中说:

在Facebook应用程序配置中,单击左侧导航菜单上的"设置"选项卡.然后转到顶部的"高级"标签,向下滚动到"客户端OAuth设置"部分.在该部分的底部,将 https://auth.firebase.com/v2//auth/facebook/callback添加到您的有效OAuth重定向URI,然后点击页面底部的保存更改.

但在Facebook应用程序控制台的" 高级"选项卡中,我找不到" 客户端OAuth设置"部分.谁知道为什么?

facebook oauth ios firebase firebase-authentication

3
推荐指数
1
解决办法
1679
查看次数

使一个简单的 NSInteger 计数器线程安全

我定义了 aNSInteger counter并在回调中更新了它的值,如下面的代码所示(回调在另一个线程中):

-(void) myFunc {
  NSLog(@"initialise counter...");
  // I try to use volatile to make it thread safe
  __block volatile NSInteger counter = 0;

  [self addObserver:myObserver withCallback:^{
     // this is in another thread
     counter += 1;
     NSLog(@"counter = %d", counter);
  }];
}
Run Code Online (Sandbox Code Playgroud)

我使用volatile关键字使counter线程安全,它在属于另一个线程的回调块中访问。

当我调用myFunc两次时:

// 1st time call
[self myFunc];
// 2nd time call
[self myFunc];
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

initialise counter...
counter = 1;
counter = 2;
counter = 3;
counter = 4; …
Run Code Online (Sandbox Code Playgroud)

multithreading objective-c ios

3
推荐指数
1
解决办法
684
查看次数

调整堆栈视图的大小

我有一个UILabel和一个Switch on storyboard,我使用Stack View对它们进行分组,但是,在嵌入到水平Stack View之后,我无法调整堆栈视图的大小,但只能移动它.为什么?

(我使用的是XCode 8 + Swift 3)

在此输入图像描述

===== UPDATE ======

谢谢大家建议添加约束,但....我添加了约束,但我仍然希望在故事板上看到约束布局而不是搞乱布局.

例如,我将前导空格和尾随空格的约束添加到距父节点8像素,但是我看到xcode给出的红线表示实际布局没有以约束方式显示.这是问题所在,我只能拖动堆栈视图,但我想调整它以匹配我的约束,以便它看起来与真实设备中的相同.

ios xcode-storyboard uistackview

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

无法填充 DrawerContentScrollView 的整个高度

我正在开发导航抽屉:

<Drawer.Navigator
    initialRouteName={InitialScreen}
    drawerContent={props => <MyDrawer {...props} />}
    screenOptions={{
        headerShown: true,
    }}>
    <Drawer.Screen name="main" component={MainScreen} />
</Drawer.Navigator>
Run Code Online (Sandbox Code Playgroud)

正如您在上面看到的,我通过实现我自己的组件来自定义抽屉的内容MyDrawer

在渲染部分MyDrawer,我有:

return (
    <View style={styles.myContent}>
      <DrawerContentScrollView
        style={{flex: 1, top: 0, bottom: 0, backgroundColor: 'yellow'}}
        {...props}>
        <View
          style={{
            backgroundColor: 'green',
            flex: 1,
            width: '100%',
            height: '100%',
          }}>
          <View>
            <DrawerItem name="Purhcase" text="Purchase" />
            <DrawerItem name="Sell" text="Sell" />
          </View>
          ...
        </View>
      </DrawerContentScrollView>
    </View>
  );

const styles = StyleSheet.create({
  myContent: {
    flex: 1,
    paddingLeft: 0,
    paddingTop: 10,
  }
});
Run Code Online (Sandbox Code Playgroud)

我想要通过填充整个高度View来直接包裹绿色组件。上面的代码显示了我尝试过的内容,但无论我做什么,绿色 …

react-native react-native-navigation react-native-drawer

3
推荐指数
1
解决办法
5414
查看次数

覆盖静态方法和最终方法

我知道在Java中,static方法不能被子类覆盖.

两个问题:

1.这是为什么?谁能解释一下里面的原因呢?

2.子类可以覆盖final超类中的方法吗?

java inheritance overriding

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

为什么"colspan"在我的桌子上不起作用

在jsfiddle中创建了一个简单的表格.

我也把我的代码放在这里:

<table>
     <tr>
        <td class="field_label">name</td>
        <td>*</td>
        <td>
         <input type="text">
        </td>
        <td>
         <input type="text">
        </td>

      </tr>

      <tr>
        <td>email</td>
        <td>*</td>
        <td colspan="2">
           <input type="text"> 
        </td>
      </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

两个问题:

1.如您所见,我colspan="2"email输入字段中使用<td>以使文本字段长度与name占据两列的字段相同,但它不起作用,为什么?

2.如何在输入字段中设置默认值并将默认值颜色设置为灰色?

html javascript jquery html5

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