I’m not wild about this API. It’s just internal, so it doesn’t have to be perfect, but a few thoughts:

* `d3_behavior_select` sounds like a behavior for selecting (something), whereas the implementation is a mechanism to disable selection and then later reenable it.
* The behavior is a no-op for browsers other than Firefox, so this API doesn’t encapsulate the above behavior. It would be better (assuming it’s possible to design elegantly) if the API encapsulated disabling selection temporarily. That is, it prevents the default behavior on selectstart events on browsers that support it, and otherwise applies the user-select: none style. That way callers can just use this API, rather than using this API + selectstart, which feels like a leaky abstraction.
* Alternatively this should be renamed to make it clear that it only applies the user-select style on browsers that support it. But I think encapsulating both APIs into one probably be cleaner.